uniapp使用vue3版本时,安装pinia报错

发布时间:2023-09-02浏览次数:4680 次
在webstorm或者vs code等编辑器中,我们使用uni-app的vue3版本去编写代码时,会发现,默认的安装pinia命令:npm install pi

在webstorm或者vs code等编辑器中,我们使用uni-app的vue3版本去编写代码时,会发现,默认的安装pinia命令:npm install pinia,会出现报错,报错信息如下:

 npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve                                                                              
npm ERR!                                                                                                         
npm ERR! While resolving: study@0.0.0                                                                            
npm ERR! Found: vue@3.2.47                                                                                       
npm ERR! node_modules/vue                                                                                        
npm ERR!   peer vue@"^3.2.25" from @vitejs/plugin-vue@4.3.4                                                      
npm ERR!   node_modules/@vitejs/plugin-vue                                                                       
npm ERR!     @vitejs/plugin-vue@"^4.2.1" from @dcloudio/uni-app-vite@3.0.0-3081220230817001                      
npm ERR!     node_modules/@dcloudio/uni-app-vite                                                                 
npm ERR!       @dcloudio/uni-app-vite@"3.0.0-3081220230817001" from @dcloudio/uni-app-plus@3.0.0-3081220230817001
npm ERR!       node_modules/@dcloudio/uni-app-plus                                                               
npm ERR!         @dcloudio/uni-app-plus@"3.0.0-3081220230817001" from the root project                           
npm ERR!     @vitejs/plugin-vue@"^4.2.1" from @dcloudio/vite-plugin-uni@3.0.0-3081220230817001                   
npm ERR!     node_modules/@dcloudio/vite-plugin-uni
npm ERR!       dev @dcloudio/vite-plugin-uni@"3.0.0-3081220230817001" from the root project
npm ERR!   peer vue@"^3.0.0" from @vitejs/plugin-vue-jsx@3.0.2
npm ERR!   node_modules/@vitejs/plugin-vue-jsx
npm ERR!     @vitejs/plugin-vue-jsx@"^3.0.1" from @dcloudio/vite-plugin-uni@3.0.0-3081220230817001
npm ERR!     node_modules/@dcloudio/vite-plugin-uni
npm ERR!       dev @dcloudio/vite-plugin-uni@"3.0.0-3081220230817001" from the root project
npm ERR!   4 more (@vue/server-renderer, vue-i18n, vue-router, the root project)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! pinia@"*" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: vue@3.3.4
npm ERR! node_modules/vue
npm ERR!   peer vue@"^2.6.14 || ^3.3.0" from pinia@2.1.6
npm ERR!   node_modules/pinia
npm ERR!     pinia@"*" from the root project

其中:我们注意这一句:peer vue@"^2.6.14 || ^3.3.0" from pinia@2.1.6。也就是说,最新版的pinia2.1.6必须运行在vue3.3.0+的版本之上,检查uni-app中为我们预装的vue版本,版本号为:3.2.45。明显不符合标准。因此,我们需要手动的去降低pinia的版本才行,这个时候,我们需要查看下pinia都有哪些版本。

查看版本时,使用 npm view pinia可查看pinia的最新版本,使用npm view pinia versions 命令可查看所有 pinia的版本号,如下图所示:

这里,我们不确定,到底那个版本适配我们的vue 3.2.45的话,可以从大版本到小版本逐个去尝试。

这里我们使用:2.0.30的版本,使用命令如下:

npm install pinia@2.0.3 --legacy-peer-deps

其中:--legacy-peer-deps表示:当存在依赖解析冲突时,使用旧的方式处理对等依赖项。从 npm 7 开始,npm 默认使用更严格的依赖解析策略,这可能导致在某些情况下无法解析到正确的依赖版本。通过使用 --legacy-peer-deps 参数,npm 将使用旧的解析策略来处理对等依赖项,以解决依赖解析冲突的问题,只有在需要解决依赖解析冲突时才需要使用。

扫一扫,在手机上查看