node.js - 在 OSX 上使用 Homebrew 软件安装 Node 。未找到 NPM

标签 node.js npm homebrew

我之前在 OSX 上安装了 node 和 npm,但在更新 npm 时出了点问题。然后我使用 homebrew 尝试链接、卸载和重新安装 Node ,把事情搞得一团糟。在我原来的 Node 安装过程中的某个地方,它使用了来自 nodejs.com 的安装程序,并且我在 Node 上的 brew 使用发生了冲突。我终于用 Homebrew 软件重新安装了 Node ,但是当我尝试运行 npm 时,我找不到 npm 命令。这是我在运行 brew install node 时收到的消息。

$ 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

我尝试按照错误消息中的说明运行安装后 Node ,但随后收到此错误消息。

$ 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

关于如何修复我的 Node 安装的任何想法?

这是 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 ]

最佳答案

帮自己一个忙,使用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 别名默认 0.10...)

使用

现在您可以像往常一样使用 Node 了!

node foo

阅读nvm文档!

此处:https://github.com/creationix/nvm

关于node.js - 在 OSX 上使用 Homebrew 软件安装 Node 。未找到 NPM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26310049/

相关文章:

mysql - NodeJS + MySql 托管

node.js - 庆典 : npm: command not found in Debian 9. 3

node.js - npm 链接导致 "extraneous"错误

node.js - 为什么我的 npm 包命令不起作用?

homebrew - 在 M1 MacBook 上切换到原生 Homebrew 的建议方法是什么?

arrays - 使用 NodeJS 删除 JavaScript 中的 websocket 连接

在 IIS Express 下运行的 Node.js 不断崩溃

node.js - Socket.io 和 Express 出现错误 "has no method socket"

javascript - 使用 defaultExtension 为 systemjs 配置 Angular2 库

macos - 使用 Homebrew 软件在 OSX 上安装后无法运行 gearmand