我以前在OSX上安装了node和npm,但是当更新npm时出错了。然后,我使用自制软件尝试链接,卸载和重新安装节点。在我的原始节点安装的某个地方,它使用来自nodejs.com的安装程序,并且节点上的brew使用情况发生冲突。我终于用自制软件重新安装了节点,但是当我尝试运行npm时,我找不到npm命令。以下是运行brew install节点时收到的消息。
$ brew install node
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-0.10.3
Already downloaded: /Library/Caches/Homebrew/node-0.10.32.mavericks.bottle.tar.gz
==> Pouring node-0.10.32.mavericks.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> make install
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /usr/local/lib/node_modules/npm/npm-debug.log
npm ERR! not ok code 0
make: *** [install] Error 3
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall node`
==> Summary
/usr/local/Cellar/node/0.10.32: 1678 files, 19M
我尝试按照错误消息中的说明运行postinstall节点,但后来收到此错误消息。
$ brew postinstall node
==> make install
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /usr/local/lib/node_modules/npm/npm-debug.log
npm ERR! not ok code 0
make: *** [install] Error 3
有关如何修复节点安装的任何想法吗?
这是npm-debug.log的最后一部分
30 silly resolved readmeFilename: 'README.md',
30 silly resolved _id: 'npm@1.4.24',
30 silly resolved _shasum: 'c0b916c7b6363d1fbde42c2d1420aca8e05a4118',
30 silly resolved _from: '.' } ]
31 info install npm@1.4.24 into /usr/local/lib
32 info installOne npm@1.4.24
33 verbose lib/node_modules/npm unbuild
34 info preuninstall npm@1.4.24
35 info uninstall npm@1.4.24
36 verbose true,/usr/local/lib/node_modules,/usr/local/lib/node_modules unbuild npm@1.4.24
37 verbose /usr/local/bin,[object Object] binRoot
38 verbose lib/node_modules/npm unbuild
39 info preuninstall npm@1.4.24
40 info uninstall npm@1.4.24
41 verbose true,/usr/local/lib/node_modules,/usr/local/lib/node_modules unbuild npm@1.4.24
42 verbose /usr/local/bin,[object Object] binRoot
43 error error rolling back Error: EACCES, unlink '/usr/local/share/man/man5/npm-folders.5'
43 error error rolling back npm@1.4.24 { [Error: EACCES, unlink '/usr/local/share/man/man5/npm-folders.5']
43 error error rolling back errno: 3,
43 error error rolling back code: 'EACCES',
43 error error rolling back path: '/usr/local/share/man/man5/npm-folders.5' }
44 error Error: EACCES, unlink '/usr/local/share/man/man5/npm-folders.5'
44 error { [Error: EACCES, unlink '/usr/local/share/man/man5/npm-folders.5']
44 error errno: 3,
44 error code: 'EACCES',
44 error path: '/usr/local/share/man/man5/npm-folders.5' }
45 error Please try running this command again as root/Administrator.
46 error System Darwin 13.4.0
47 error command "node" "/usr/local/lib/node_modules/npm/cli.js" "install" "-g" "-f"
48 error cwd /usr/local/lib/node_modules/npm
49 error node -v v0.10.32
50 error npm -v 1.4.24
51 error path /usr/local/share/man/man5/npm-folders.5
52 error code EACCES
53 error errno 3
54 error stack Error: EACCES, unlink '/usr/local/share/man/man5/npm-folders.5'
55 verbose exit [ 3, true ]
答案 0 :(得分:8)
帮自己一个忙,并使用nvm
。它可以帮助您管理Node版本,并且您不需要root权限来使用它。
nvm
我们正在使用curl
获取nvm
的安装脚本并使用bash
解释该脚本。
curl https://raw.githubusercontent.com/creationix/nvm/v0.17.2/install.sh | bash
node
+ npm
此命令将找出node
的最新稳定版本并将其安装在您的系统中。
nvm install stable
(currently bugged,暂时使用nvm install 0.10
...)
这样nvm
每当您打开一个新窗口时都会配置您的终端,也可以运行此命令:
nvm alias default stable
(currently bugged,暂时使用nvm alias default 0.10
...)
现在你可以照常使用Node了!
node foo
nvm
文档!答案 1 :(得分:3)
Homebrew权限问题的解决方案通常为sudo chown -R $(whoami) $(brew --prefix)
。如果您曾经使用npm作为root,这不是必需的,其目录树中的某些文件将归root所有,这将导致升级时出现权限问题。
答案 2 :(得分:1)
我在OSX上并通过从http://nodejs.org/下载并安装最新版本来解决此问题。这将为您提供最新的节点和npm。
答案 3 :(得分:1)
我知道这不会成为公认的答案,但您之前可能已经做过类似sudo npm -g install XXX
的事情,现在有一些权限问题。
有两个地方可以解决这个问题:
sudo chown -R `whoami`:staff /Users/`whoami` /usr/local
要点是Node在/ usr / local中保留了一些内容,而NPM会在HOME目录中保留一些内容。如果您触及任何sudo
的人,那么您将度过难关。
答案 4 :(得分:0)
如果npm -v在安装节点后出现错误,则表明没有创建符号链接。无论何时通过brew安装,都会创建符号链接。 如果安装某些软件包导致警告,则必须使用各个工作区文件夹中警告中显示的导出命令