獭诺西
獭诺西
  • 发布:2024-07-03 11:28
  • 更新:2024-07-10 10:20
  • 阅读:866

关于uni-app内置pinia的问题

分类:uni-app

无法直接导入pinia,会报错。然后我自己想安装pinia 运行 npm install pinia安装会报错,提示与vue依赖版本冲突。使用的是官方v3+ts的创建方式。
环境:
nodejs: v18.12.0
vue: 3.4.21
vite: 5.2.8
此为报错信息:

npm ERR! code ERESOLVE  
npm ERR! ERESOLVE could not resolve  
npm ERR!   
npm ERR! While resolving: uni-preset-vue@0.0.0  
npm ERR! Found: vue@3.4.21  
npm ERR! node_modules/vue  
npm ERR!   peer vue@"^3.2.25" from @vitejs/plugin-vue@5.0.5  
npm ERR!   node_modules/@vitejs/plugin-vue  
npm ERR!     @vitejs/plugin-vue@"^5.0.4" from @dcloudio/uni-app-vite@3.0.0-4010520240507001  
npm ERR!     node_modules/@dcloudio/uni-app-vite  
npm ERR!       @dcloudio/uni-app-vite@"3.0.0-4010520240507001" from @dcloudio/uni-app-plus@3.0.0-4010520240507001  
npm ERR!       node_modules/@dcloudio/uni-app-plus  
npm ERR!         @dcloudio/uni-app-plus@"3.0.0-4010520240507001" from the root project  
npm ERR!     @vitejs/plugin-vue@"^5.0.4" from @dcloudio/vite-plugin-uni@3.0.0-4010520240507001  
npm ERR!     node_modules/@dcloudio/vite-plugin-uni  
npm ERR!       dev @dcloudio/vite-plugin-uni@"3.0.0-4010520240507001" from the root project  
npm ERR!   peer vue@"^3.0.0" from @vitejs/plugin-vue-jsx@3.1.0  
npm ERR!   node_modules/@vitejs/plugin-vue-jsx  
npm ERR!     @vitejs/plugin-vue-jsx@"^3.1.0" from @dcloudio/vite-plugin-uni@3.0.0-4010520240507001  
npm ERR!     node_modules/@dcloudio/vite-plugin-uni  
npm ERR!       dev @dcloudio/vite-plugin-uni@"3.0.0-4010520240507001" 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@"2.1.7" from the root project  
npm ERR!   
npm ERR! Conflicting peer dependency: vue@3.4.31  
npm ERR! node_modules/vue  
npm ERR!   peer vue@">= 2.5 < 2.7" from @vue/composition-api@1.7.2  
npm ERR!   node_modules/@vue/composition-api  
npm ERR!     peerOptional @vue/composition-api@"^1.4.0" from pinia@2.1.7  
npm ERR!     node_modules/pinia  
npm ERR!       pinia@"2.1.7" from the root project  
npm ERR!   
npm ERR! Fix the upstream dependency conflict, or retry  
npm ERR! this command with --force, or --legacy-peer-deps  
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.  
npm ERR!   
npm ERR! See /Users/tanuoxi/.npm/eresolve-report.txt for a full report.  

npm ERR! A complete log of this run can be found in:  
npm ERR!     /Users/tanuoxi/.npm/_logs/2024-07-03T03_23_36_814Z-debug-0.log
2024-07-03 11:28 负责人:无 分享
已邀请:
y***@163.com

y***@163.com

我有同样的问题,是使用cli方式创建的 vue3 + js 项目
npx degit dcloudio/uni-preset-vue#vite my-vue3-project

安装 pinia 需要先升级vue(模板里是 3.4.21):

npm i vue@3.4.31

然后可以成功安装 pinia

npm i pinia

  • z***@126.com

    升级vue后,安装pinia成功,回复一下,表示感谢

    2024-08-12 18:45

DCloud_UNI_yuhe

DCloud_UNI_yuhe

建议使用内置pinia,肯定是可以直接导入的,你找找是哪里出错了

  • 獭诺西 (作者)

    你好,麻烦帮忙看一下我在下面上传的截图

    2024-07-03 14:18

獭诺西

獭诺西 (作者)

你好,这是我导入后,进行启动的截图。

DCloud_UNI_yuhe

DCloud_UNI_yuhe

  • 獭诺西 (作者)

    我尝试一下

    2024-07-03 15:17

  • 獭诺西 (作者)

    您好,我重新创建一个demo,按照示例的第一部在main.js中导入也还是这个报错问题。

    [plugin:uni:mp-main-js] Cannot find module 'pinia/dist/pinia.mjs'

    Require stack:



    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/uni-cli-shared/dist/resolve.js

    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/uni-cli-shared/dist/hbx/env.js

    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/uni-cli-shared/dist/hbx/index.js

    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/uni-cli-shared/dist/utils.js

    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/uni-cli-shared/dist/mp/ast.js

    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/uni-cli-shared/dist/mp/index.js

    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/uni-cli-shared/dist/index.js

    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/vite-plugin-uni/dist/cli/index.js

    • /Users/tanuoxi/Documents/front-end/my-vue3-project/node_modules/@dcloudio/vite-plugin-uni/bin/uni.js

      at main.js:1:0

    2024-07-03 15:34

  • 獭诺西 (作者)

    请问您也是使用npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project,这个命令来创建的吗,与nodejs 18

    2024-07-03 15:35

  • DCloud_UNI_yuhe

    回复 獭诺西: 我是通过hbuilderx创建的,建议通过这种方式

    2024-07-03 15:37

  • 獭诺西 (作者)

    回复 DCloud_UNI_yuhe: 能请您使用cli来创建一次来试一下吗,麻烦您了

    2024-07-03 15:40

  • DCloud_UNI_yuhe

    回复 獭诺西: 行,那稍等一下

    2024-07-03 15:49

  • 獭诺西 (作者)

    回复 DCloud_UNI_yuhe: 根据文档提示cli需要手动install pinia,

    使用 CLI


    4.14 之前:执行 yarn add pinia@2.0.36 或 npm install pinia@2.0.36 安装,要固定版本


    4.14 之后:执行 yarn add pinia 或 npm install pinia 安装,可不指定版本

    但是使用哪种都会与vue版本冲突

    2024-07-03 15:52

  • DCloud_UNI_yuhe

    回复 獭诺西:npm install pinia --legacy-peer-deps 你尝试下这么安装pinia

    2024-07-03 18:02

  • 1***@qq.com

    回复 DCloud_UNI_yuhe: 好像可以安装了

    2024-08-10 10:23

  • 1***@qq.com

    回复 DCloud_UNI_yuhe: 感谢大佬

    2024-08-10 10:24

要回复问题请先登录注册