Tengo una aplicación Vue3 y quiero instalar el paquete Pinia
Después de crear la aplicación, ejecuto npm install pinia y obtengo este error
npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve npm ERR! npm ERR! While resolving: repo@0.0.0-development npm ERR! Found: vue@3.2.22 npm ERR! node_modules/vue npm ERR! peerOptional vue@"^2 || ^3.0.0-0" from @vue/babel-preset-app@4.5.15 npm ERR! node_modules/@vue/babel-preset-app npm ERR! @vue/babel-preset-app@"^4.5.15" from @vue/cli-plugin-babel@4.5.15 npm ERR! node_modules/@vue/cli-plugin-babel npm ERR! dev @vue/cli-plugin-babel@"~4.5.0" from the root project npm ERR! peer vue@"3.2.22" from @vue/server-renderer@3.2.22 npm ERR! node_modules/@vue/server-renderer npm ERR! @vue/server-renderer@"3.2.22" from vue@3.2.22 npm ERR! 5 more (@vue/test-utils, primevue, vue-jest, 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.2.23 npm ERR! node_modules/vue npm ERR! peer vue@">= 2.5 < 3" from @vue/composition-api@1.4.0 npm ERR! node_modules/@vue/composition-api npm ERR! peerOptional @vue/composition-api@"^1.4.0" from pinia@2.0.4 npm ERR! node_modules/pinia npm ERR! pinia@"*" 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 C:\Users\me\AppData\Local\npm-cache\eresolve-report.txt for a full report. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\me\AppData\Local\npm-cache\_logs\2021-11-26T09_39_36_434Z-debug.logEl propio archivo de registro generado contiene este contenido.
0 verbose cli [ 0 verbose cli 'C:\\Program Files\\nodejs\\node.exe', 0 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js', 0 verbose cli 'install', 0 verbose cli 'pinia' 0 verbose cli ] 1 info using npm@8.1.0 2 info using node@v16.13.0 3 timing npm:load:whichnode Completed in 0ms 4 timing config:load:defaults Completed in 1ms 5 timing config:load:file:C:\Program Files\nodejs\node_modules\npm\npmrc Completed in 4ms 6 timing config:load:builtin Completed in 4ms 7 timing config:load:cli Completed in 2ms 8 timing config:load:env Completed in 0ms 9 timing config:load:file:C:\Users\me\Repositories\repo\.npmrc Completed in 0ms 10 timing config:load:project Completed in 1ms 11 timing config:load:file:C:\Users\me\.npmrc Completed in 1ms 12 timing config:load:user Completed in 1ms 13 timing config:load:file:C:\Users\me\AppData\Roaming\npm\etc\npmrc Completed in 0ms 14 timing config:load:global Completed in 0ms 15 timing config:load:validate Completed in 0ms 16 timing config:load:credentials Completed in 1ms 17 timing config:load:setEnvs Completed in 1ms 18 timing config:load Completed in 11ms 19 timing npm:load:configload Completed in 11ms 20 timing npm:load:setTitle Completed in 0ms 21 timing npm:load:setupLog Completed in 1ms 22 timing config:load:flatten Completed in 2ms 23 timing npm:load:cleanupLog Completed in 2ms 24 timing npm:load:configScope Completed in 0ms 25 timing npm:load:projectScope Completed in 1ms 26 timing npm:load Completed in 18ms 27 timing arborist:ctor Completed in 1ms 28 timing idealTree:init Completed in 1304ms 29 timing idealTree:userRequests Completed in 4ms 30 silly idealTree buildDeps 31 silly fetch manifest pinia@* 32 timing arborist:ctor Completed in 0ms 33 http fetch GET 200 https://registry.npmjs.org/pinia 1424ms (cache revalidated) 34 silly fetch manifest @vue/composition-api@^1.4.0 35 http fetch GET 200 https://registry.npmjs.org/@vue%2fcomposition-api 87ms (cache revalidated) 36 silly fetch manifest vue@^3.0.0 37 http fetch GET 200 https://registry.npmjs.org/vue 55ms (cache revalidated) 38 silly fetch manifest vue@>= 2.5 < 3 39 silly fetch manifest typescript@~4.1.5 40 http fetch GET 200 https://registry.npmjs.org/typescript 60ms (cache revalidated) 41 silly fetch manifest typescript@^4.4.4 42 timing idealTree Completed in 2998ms 43 timing command:install Completed in 3012ms 44 verbose stack Error: could not resolve 44 verbose stack at PlaceDep.failPeerConflict (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:544:25) 44 verbose stack at PlaceDep.place (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:197:21) 44 verbose stack at new PlaceDep (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\place-dep.js:71:10) 44 verbose stack at C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:944:31 44 verbose stack at Array.map (<anonymous>) 44 verbose stack at Arborist.[buildDepStep] (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:944:8) 44 verbose stack at async Arborist.buildIdealTree (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:216:7) 44 verbose stack at async Promise.all (index 1) 44 verbose stack at async Arborist.reify (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:149:5) 44 verbose stack at async Install.install (C:\Program Files\nodejs\node_modules\npm\lib\install.js:170:5) 45 verbose cwd C:\Users\me\Repositories\repo 46 verbose Windows_NT 10.0.19042 47 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "pinia" 48 verbose node v16.13.0 49 verbose npm v8.1.0 50 error code ERESOLVE 51 error ERESOLVE could not resolve 52 error 53 error While resolving: [1mrepo[22m@[1m0.0.0-development[22m 53 error Found: [1mvue[22m@[1m3.2.22[22m[2m[22m 53 error [2mnode_modules/vue[22m 53 error peerOptional [1mvue[22m@"[1m^2 || ^3.0.0-0[22m" from [1m@vue/babel-preset-app[22m@[1m4.5.15[22m[2m[22m 53 error [2mnode_modules/@vue/babel-preset-app[22m 53 error [1m@vue/babel-preset-app[22m@"[1m^4.5.15[22m" from [1m@vue/cli-plugin-babel[22m@[1m4.5.15[22m[2m[22m 53 error [2mnode_modules/@vue/cli-plugin-babel[22m 53 error [33mdev[39m [1m@vue/cli-plugin-babel[22m@"[1m~4.5.0[22m" from the root project 53 error [35mpeer[39m [1mvue[22m@"[1m3.2.22[22m" from [1m@vue/server-renderer[22m@[1m3.2.22[22m[2m[22m 53 error [2mnode_modules/@vue/server-renderer[22m 53 error [1m@vue/server-renderer[22m@"[1m3.2.22[22m" from [1mvue[22m@[1m3.2.22[22m 53 error 5 more (@vue/test-utils, primevue, vue-jest, vue-router, the root project) 53 error 53 error Could not resolve dependency: 53 error [1mpinia[22m@"[1m*[22m" from the root project 53 error 53 error Conflicting peer dependency: [1mvue[22m@[1m3.2.23[22m[2m[22m 53 error [2mnode_modules/vue[22m 53 error [35mpeer[39m [1mvue[22m@"[1m>= 2.5 < 3[22m" from [1m@vue/composition-api[22m@[1m1.4.0[22m[2m[22m 53 error [2mnode_modules/@vue/composition-api[22m 53 error peerOptional [1m@vue/composition-api[22m@"[1m^1.4.0[22m" from [1mpinia[22m@[1m2.0.4[22m[2m[22m 53 error [2mnode_modules/pinia[22m 53 error [1mpinia[22m@"[1m*[22m" from the root project 53 error 53 error Fix the upstream dependency conflict, or retry 53 error this command with --force, or --legacy-peer-deps 53 error to accept an incorrect (and potentially broken) dependency resolution. 53 error 53 error See C:\Users\me\AppData\Local\npm-cache\eresolve-report.txt for a full report. 54 verbose exit 1 Hubo un problema abierto https://github.com/posva/pinia/issues/724 y, como se mencionó, es posible instalar Pinia a través del complemento ( vue add vue-cli-plugin-pinia ) pero no necesito el complemento .
No estoy seguro de si debo instalar Pinia a través npm install pinia --force o npm install pinia --legacy-peer-deps ya que esto parece ser peligroso.
¿Alguien sabe cómo solucionarlo?
Esta es una lista de paquetes instalados
{ "dependencies": { "core-js": "^3.6.5", "vue": "^3.0.0", "vue-router": "^4.0.0-0" }, "devDependencies": { "@types/jest": "^24.0.19", "@typescript-eslint/eslint-plugin": "^4.18.0", "@typescript-eslint/parser": "^4.18.0", "@vue/cli-plugin-babel": "~4.5.0", "@vue/cli-plugin-e2e-cypress": "~4.5.0", "@vue/cli-plugin-eslint": "~4.5.0", "@vue/cli-plugin-router": "~4.5.0", "@vue/cli-plugin-typescript": "~4.5.0", "@vue/cli-plugin-unit-jest": "~4.5.0", "@vue/cli-service": "~4.5.0", "@vue/compiler-sfc": "^3.0.0", "@vue/eslint-config-prettier": "^6.0.0", "@vue/eslint-config-typescript": "^7.0.0", "@vue/test-utils": "^2.0.0-0", "eslint": "^6.7.2", "eslint-plugin-prettier": "^3.3.1", "eslint-plugin-vue": "^7.0.0", "prettier": "^2.2.1", "typescript": "~4.1.5", "vue-jest": "^5.0.0-0" } }En lugar de instalar Pinia directamente, instalé el complemento Pinia, que no es oficial, pero al menos funciona:
vue add vue-cli-plugin-piniaParece que su problema es que puede haber instalado Pinia de acuerdo con las instrucciones de instalación de Vue 2 para Pinia , que requieren explícitamente que instale una dependencia adicional de @vue/composition-api .
@vue/composition-api es un complemento de Vue 2.
No funcionará en Vue 3, que es la versión que está ejecutando.
Por lo tanto, descargue la dependencia @vue/composition-api con
npm remove @vue/composition-apiy usted debe estar listo para ir.