2

我有一个在 mac 上运行良好的节点项目,但是在家里的 windows 上,当我尝试执行 npm install 时,它给了我一个访问权限错误。

在我的package.json我有这个

"dependencies": {
  "async": "2.1.4"
}

它给了我这个错误

npm ERR! Command failed: git -c core.longpaths=true clone C:\Users\username\AppData\Roaming\npm-cache\_git-remotes\git-github-com-jstewmon-async-git-e757f9b4 C:\Users\username\.babun\cygwin\tmp\npm-17984-bd5d3a5c\git-cache-52562eee\c6a89a49b0d525c41545e8afd9a4fe844033cc52
npm ERR! Cloning into 'C:\Users\username\.babun\cygwin\tmp\npm-17984-bd5d3a5c\git-cache-52562eee\c6a89a49b0d525c41545e8afd9a4fe844033cc52'...
npm ERR! fatal: '/cygdrive/c/Users/username/AppData/Roaming/npm-cache/_git-remotes/git-github-com-jstewmon-async-git-e757f9b4/C:\Users\username\AppData\Roaming\npm-cache\_git-remotes\git-github-com-jstewmon-async-git-e757f9b4' does not appear to be a git repository
npm ERR! fatal: Could not read from remote repository.
npm ERR!
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.

似乎正在尝试从异步分支安装..我不明白。

git-github-com-jstewmon-async-git-e757f9b4 https://github.com/jstewmon/async

我试过npm clean cache没有成功。

4

1 回答 1

2

npm 问题 7456中所述

当使用与 Cygwin (2.4.5) 64 位捆绑的当前 git 时,我可以确认此命令失败“似乎不是 git 存储库”。

当我单独下载并安装Windows git 发行版 (2.6.2.windows.1) (now 2017 2.12.0),并将GIT_HOME前面的CYGWIN_HOMEPATHnpm install包括git clone)成功。
我安装了 mintty 选项,以便 git 也可以与 docker 一起正常工作。

如果您不想在 Windows 上安装 Git,则可以改为:
npm_on_cygwin
它涉及一个补丁git.js,它将正确管理Windows 路径,而不是像在/cygdrive/c/.../C:\Users\....

OP Devilwarriors在评论中提到了 npm问题 12821,安装了双 Git 的类似问题:

通过 npm 使用时, babun的沙盒 git 无法下载 git repos。
要解决这个问题,您可以使用 pact remove git 卸载 babun 的 git,并使用已安装的 Git for Windows。

于 2017-03-09T05:48:51.030 回答