NPM安装失败

5

我目前在Mac OS上无法安装NPM,我已经到处寻找有相同错误的人,但似乎找不到任何解决方案。有人可以帮我吗?这是我在运行curl命令安装NPM后得到的结果:

All clean!
npm-install-94139.sh: line 302: 94407 Segmentation fault: 11  "$node" cli.js rm npm -gf
npm ERR! addLocal Could not install .
npm ERR! Error: EACCES, open '/Volumes/MacintoshHD/Users/Sebastian/.npm/3a52ce78-.lock'
npm ERR!  { [Error: EACCES, open '/Volumes/MacintoshHD/Users/Sebastian/.npm/3a52ce78-.lock']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Volumes/MacintoshHD/Users/Sebastian/.npm/3a52ce78-.lock' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 12.5.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/52/msjnslgn4qnfjgxfvg28f8kc0000gn/T/npm.94143/package/cli.js" "install" "-gf"
npm ERR! cwd /private/var/folders/52/msjnslgn4qnfjgxfvg28f8kc0000gn/T/npm.94143/package
npm ERR! node -v v0.8.19
npm ERR! npm -v 1.1.71
npm ERR! path /Volumes/MacintoshHD/Users/Sebastian/.npm/3a52ce78-.lock
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Volumes/MacintoshHD/Users/Sebastian/.npm/3a52ce78-.lock'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/52/msjnslgn4qnfjgxfvg28f8kc0000gn/T/npm.94143/package/npm-debug.log
npm ERR! not ok code 0
It failed

你不应该需要使用 curl 来安装 NPM。这是在 Node 0.4 中安装的方式,但自从 0.6.3 以来,它已经与 Node 捆绑在一起了。而且,看起来你已经安装了它 -- npm ERR! npm -v 1.1.71。尝试使用 npm -vnpm -h - Jonathan Lonowski
这正是我所想的,但当我尝试这么做时,我收到了“-bash: npm: command not found”的提示,而这是在我执行了brew install node之后出现的,因此它应该是最新版本。 - schlow
@JonathanLonowski 我用brew重新安装了node,npm -v显示1.2.10,但是输出Segmentation fault: 11,你知道这是什么问题吗? - schlow
5个回答

18

这个其他问题的解决方案似乎比折腾NVM更好 - npm throws error without sudo

解决方案: 您需要像Noah所说的那样在主目录中解除权限锁定。

sudo chown -R `whoami` ~/.npm

你也需要像Xilo说的那样,把它写入你的库中。

sudo chown -R `whoami` /usr/local/lib/node_modules

6
我猜测npm使用的目录(可能是/usr/local或您的主文件夹中的某个目录)权限不正确。现在使用sudo安装可能会起作用,但以后可能会有问题,因为您肯定会以root身份创建文件和目录,可能会在npm尝试缓存内容时造成问题。
我的建议是先卸载,然后通过nvm重新安装。这样可以很好地管理不同的node版本,而无需使用sudo。

运行 "sudo npm install parse" 对我来说解决了 Segmentation fault: 11 的问题。 - Matt Hudson

5

2

你尝试过在curl命令中使用"sudo"吗?另外,如果你安装了一个新版本的Node,它现在已经包含了NPM,因此你甚至不需要单独安装NPM。


1
它可以使用sudo工作,但我不太喜欢那样做。据我所知,这并不是必要的,对吧? - schlow
我建议你完全卸载 Node,然后尝试使用最新的 .pkg 文件重新安装。这比使用 Homebrew 安装要容易得多。这将使 Nom 在捆绑节点中可用。 - gstroup

0

来自NPM自述文件:https://npmjs.org/doc/README.html

超级简单的安装

现在npm已经随node一起提供了。

Windows电脑

获取MSI。 npm已经包含在其中了。

苹果Macintosh电脑

获取pkg。 npm已经包含在其中了。

其他类型的Unix系统

运行make install。 npm将与node一起安装。

如果您想要更高级的安装(不同版本,自定义路径等),请继续阅读...


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