在OSX上使用自制程序安装节点。没有找到Npm

时间:2014-10-11 01:12:25

标签: node.js npm homebrew

我以前在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 ]

5 个答案:

答案 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文档!

此处:https://github.com/creationix/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安装,都会创建符号链接。 如果安装某些软件包导致警告,则必须使用各个工作区文件夹中警告中显示的导出命令