问题描述
node.js 的 homebrew 包现在再次包含 npm,所以当我错过了 homebrew 包关于首先删除独立版本的消息时,这发生在我身上。
假设,像我一样,你已经通过尝试升级破坏了 node/npm,然后才知道npm uninstall npm -g
,你可以rm -rf
/usr/local/lib/node_modules/npm
,然后brew link node
. 这将删除 独立 的自托管 npm 包(而不是
brew 想要安装的一个),并让 brew 符号链接它来自 Cellar 的捆绑包。
解决方法
我正在尝试通过 Homebrew 安装 node.js。不幸的是,我收到此错误:
➜ ~ brew install node
==> Downloading http://nodejs.org/dist/v0.8.10/node-v0.8.10.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.10
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
Warning: Could not link node. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built,but is not symlinked into /usr/local
You can try again using `brew link node'
==> Summary
/usr/local/Cellar/node/0.8.10: 856 files,13M,built in 103 seconds
所以然后我尝试手动链接节点......
➜ ~ brew link node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/node/0.8.10/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh already exists. You may need to delete it.
To force the link and delete this file,do:
brew link -f formula_name
To list all files that would be deleted:
brew link -n formula_name
没有运气,所以我尝试强制链接节点......
➜ ~ brew link -f node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Permission denied - /usr/local/lib/dtrace/node.d
我在任何方面都不熟悉 dtrace,而且我害怕弄乱权限,所以我尝试了 sudo..
➜ ~ git:(master) sudo brew link -f node
Password:
Error: Cowardly refusing to `sudo brew link'
You can use brew with sudo,but only if the brew executable is owned by root.
However,this is both not recommended and completely unsupported so do so at
your own risk.
我尝试通过卸载节点brew uninstall node
并重试安装,但没有成功。