执行npm install时Git分支依赖安装失败问题
npm install拉取Git分支依赖报错:目标路径已存在且非空目录
错误详情
执行npm install拉取指定分支的Git依赖时,出现以下错误:
npm ERR! code 128 npm ERR! 发生未知的git错误 npm ERR! 命令 git --no-replace-objects clone -b build ssh://git@bitbucket.org/<mygitrepo>.git C:\Users\<myuser>\AppData\Local\npm-cache\_cacache\tmp\git-cloneBveAZy --recurse-submodules --depth=1 --config core.longpaths=true npm ERR! fatal: 目标路径 'C:\Users\<myuser>\AppData\Local\npm-cache\_cacache\tmp\git-cloneBveAZy' 已存在且并非空目录。 npm ERR! 本次运行的完整日志可在以下位置查看: verbose error npm verb stack Error: 发生未知的git错误 npm verb stack at makeError (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\git\lib\make-error.js:28:13) npm verb stack at C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\git\lib\spawn.js:37:26 npm verb stack at async Object.withTempDir (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\fs\lib\with-temp-dir.js:23:14) npm verb stack at async Arborist.[nodeFromEdge] (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:1108:19) npm verb stack at async Arborist.[buildDepStep] (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:976:11) npm verb stack at async Arborist.buildIdealTree (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\build-ideal-tree.js:218:7) npm verb stack at async Promise.all (index 1) npm verb stack at async Arborist.reify (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:153:5) npm verb stack at async Install.exec (C:\Program Files\nodejs\node_modules\npm\lib\commands\install.js:156:5) npm verb stack at async module.exports (C:\Program Files\nodejs\node_modules\npm\lib\cli.js:78:5) npm verb Windows_NT 10.0.19045 npm verb node v16.16.0 npm verb npm v8.11.0 npm ERR! 发生未知的git错误
解决步骤
- 清理npm缓存:执行以下命令强制清空缓存,清除残留的临时目录
npm cache clean --force - 手动删除残留临时目录(如果缓存清理后仍报错):
找到报错中的路径C:\Users\<myuser>\AppData\Local\npm-cache\_cacache\tmp\git-cloneBveAZy,替换<myuser>为你的实际用户名,手动删除该目录,同时可以删除tmp目录下所有以git-clone开头的文件夹。 - 重新执行安装:
npm install - 可选优化:
- 升级npm到最新版本,修复缓存管理可能存在的bug:
npm install -g npm@latest - 检查Git依赖的分支名称是否正确,以及Bitbucket的SSH密钥配置是否有效,确保拉取权限正常。
- 升级npm到最新版本,修复缓存管理可能存在的bug:
内容的提问来源于stack exchange,提问作者Pad
相关产品推荐
相关产品推荐

