異常信息
# npm resolution error reportWhile resolving:system@3.8.8
Found: vite@6.2.3
node_modules/vitedev vite@"6.2.3" from the root projectCould not resolve dependency:
peer vite@"^5.0.0" from @vitejs/plugin-vue@5.0.5
node_modules/@vitejs/plugin-vuedev @vitejs/plugin-vue@"5.0.5" from the root projectFix the upstream dependency conflict, or retry
this command with --force or --legacy-peer-deps
to accept an incorrect (and potentially broken) dependency resolution.
異常背景
剛從gitlab克隆下來的源碼,首次執行npm install安裝依賴時報錯,當前node.js的版本為20.18.0
* 20.18.0 (Currently using 64-bit executable)16.15.110.14.1
異常分析
翻譯錯誤信息:
在解析system@3.8.8 時發現:
當前安裝的 vite 版本為 6.2.3
位于 node_modules/vite 目錄
項目根目錄中指定開發依賴 vite@“6.2.3”
無法解析的依賴項:
@vitejs/plugin-vue@5.0.5 要求 peer 依賴 vite@“^5.0.0”
位于 node_modules/@vitejs/plugin-vue 目錄
項目根目錄中指定開發依賴 @vitejs/plugin-vue@“5.0.5”
解決方法:
修復上游依賴沖突,或使用 --force 或 --legacy-peer-deps 參數重試命令
這將接受一個不正確(且可能損壞)的依賴解析方案
查看package.json文件中指定的@vitejs/plugin-vue的版本
{"name": "system","version": "3.8.8","description": "xxx系統",..."scripts": {"dev": "vite","build:prod": "vite build","build:stage": "vite build --mode staging","preview": "vite preview"},..."dependencies": {"@element-plus/icons-vue": "2.3.1",...},"devDependencies": {"@vitejs/plugin-vue": "5.0.5",...}
}
解決方法
實際上剛克隆下來的源碼還沒有任何依賴,也就是 /node_modules目錄都還沒有,所以根據提示,強制下載依賴包,執行以下命令:
npm install --force or --legacy-peer-deps
–force 參數:強制覆蓋本地緩存和版本限制,重新下載遠程資源?。
–legacy-peer-deps 參數:忽略對等依賴(如 Vue 插件與 Vite 版本不匹配)?)的版本檢查,采用 npm v4-v6 的寬松解析邏輯?。