尝试克隆git时,创建主目录时权限被拒绝

6
每当我尝试在我的应用程序上运行"npm install",我都会收到以下错误信息:
Eliyas-MacBook-Pro:app-name root# npm install
npm ERR! code 128
npm ERR! Command failed: /usr/bin/git clone -q https://github.com/mapsplugin/cordova-plugin-googlemaps-sdk.git /var/root/.npm/_cacache/tmp/git-clone-31357d5e
npm ERR! fatal: could not create leading directories of '/var/root/.npm/_cacache/tmp/git-clone-31357d5e': Permission denied
npm ERR! 

npm ERR! A complete log of this run can be found in:
npm ERR!     /var/root/.npm/_logs/2018-02-27T20_18_34_759Z-debug.log

当我检查.npm文件夹的权限时,得到以下结果:

drwxrwxrwx   6 root  staff  192 Feb 27 22:11 .npm

我的环境:

  • git 版本 2.14.3 (Apple Git-98)
  • node 版本 v9.4.0
  • npm 版本 v5.4.0

你尝试检查这些目录的权限了吗?(/var/root/.npm/_cacache/tmp/git-clone-31357d5e) - Omer Tuchfeld
用户安装了npm吗? - z atef
尝试使用var,然后是/var/root,接着是/var/root/.npm/等等。你看到的最后一个目录是什么?在这个链中,哪一个是第一个不存在的?尝试检查每个步骤的权限,以了解哪个目录具有问题的权限。 - Omer Tuchfeld
我正在以root身份运行此命令。我不认为我应该在读/写文件夹权限方面遇到任何问题。我尝试使用sudo运行此命令,它在loadAllDepsIntoIdealTree上卡了几分钟,然后才起作用。我不会将其发布为答案,因为它并不完全是解决方案。它更像是一种间接的解决方案。 - Eliya Cohen
请查看我的答案:https://dev59.com/lVcO5IYBdhLWcg3w1U9p - Ryan Shillington
显示剩余4条评论
3个回答

3
在这种情况下,我建议您从Git repo下载master.zip文件,然后进行安装。
$> wget https://github.com/mapsplugin/cordova-plugin-googlemaps-sdk/archive/master.zip

$> unzip master.zip

$> mv master cordova-plugin-googlemaps-sdk

$> cd (your project dir)

$> cordova plugin add (path to)/cordova-plugin-googlemaps-sdk

$> cordova plugin add cordova-plugin-googlemaps --variable API_KEY_FOR_ANDROID="..."  --variable API_KEY_FOR_IOS="..." 

(更新)

问题可能是git命令的版本过时了。 为了升级git命令,您可以选择以下方法:

(option 1)
$> brew upgrade git

(option 2)
Install the latest git command from here
https://git-scm.com/

1
推理?为什么会发生这种情况? - Eliya Cohen
我不知道原因,但肯定是你的npm或git命令出了问题,比如git命令版本过旧。 - wf9a5m75
这个解决方案可能可以工作,但它只解决了一个特定的依赖项。如果涉及到多个依赖项,这个解决方案就太复杂了,因此我不能接受这个答案。 - Eliya Cohen
就像我说的那样,这是你的环境问题。你应该至少尝试更新git命令。 - wf9a5m75
你能把这个解决方案加到你的回答里面吗?这样我就可以将其标记为正确答案了。 - Eliya Cohen

2

-3

可能需要 root 权限。

sudo npm install

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接