错误:“brew链接”步骤没有成功完成

我试图通过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并重新尝试安装,没有运气。

node.js的自制程序包现在又包含了npm,所以当我错过了自制软件包关于首先删除独立版本的消息时,发生了这种情况。

假设,和我一样,你已经通过尝试升级来断开node / npm,然后才知道npm uninstall npm -g ,然后你可以rm -rf /usr/local/lib/node_modules/npm ,然后brew link node 。 这将删除独立的自托pipe的npm包(而不是一个brew想要安装的),并且可以将其捆绑的来自Cellar的符号链接。

我运行Mac OS X Mavericks。 我试图安装节点0.10.25,顶部的答案不适合我。

natevw说rm -rf /usr/local/lib/node_modules/npm但如果/usr/local/lib/node_modules的权限如下所示:

 drwxr-xr-x 3 root admin 102 Feb 2 20:45 node_modules 

那么brew将无法在该目录中创build其npm符号链接。 这是我的解决scheme:

第1步:更新自制软件

 $ brew update 

第2步:删除系统上的所有节点/ npm

根据您以前安装node / npm的方式,其中一些命令不是必需的。

 $ brew uninstall npm $ brew uninstall node $ npm uninstall npm -g $ sudo rm -rf /usr/local/lib/node_modules 

注意:我通过运行brew -v link node (这给了我brew连接错误的详细输出)抱怨的stream浪节点文件。 您可能需要:

 $ sudo rm -rf /usr/local/include/node $ sudo rm -rf /usr/local/lib/node 

第3步:打开一个新的terminal并安装节点

 $ brew install node 

您可能已经使用不同的方法安装了旧版本的node.js,因此您需要手动删除以brew方式获取的文件。

执行brew link -n node并手动删除这些冲突的文件和目录,然后再尝试brew link node

 sudo chown -R $(whoami) /usr/local 

会做得很好,如在酿造现场故障排除提到的

https://github.com/Homebrew/homebrew/wiki/troubleshooting

我有点迟了,对我有效的是这样的:

 * npm uninstall npm -g * brew uninstall node * brew install node * sudo rm -rf /usr/local/lib/dtrace/node.d * brew link node (caused error with permissions) * sudo chmod 777 /usr/local/lib/dtrace/node.d * brew link node 

在这个序列之后一切都成功了

尝试这个。 从另一个参考得到,为我工作。

 sudo brew uninstall node brew update brew upgrade brew cleanup brew install node sudo chown -R $(whoami) /usr/local brew link --overwrite node sudo brew postinstall node 

将所有的应用程序从旧的Mac传输到新的应用程序后,我遇到了同样的问题。

我通过运行brew doctorfind了解决scheme:

警告:find破坏的符号链接。 用brew prune去除它们

运行brew prune ,Homebrew终于回到了正轨:)

我的问题有一个稍微不同的解决scheme brew想要创build符号链接的目录不属于当前用户。

ls -la /usr/local/bin/lib/node | grep node ls -la /usr/local/bin/lib/node | grep node产生:

 drwxr-xr-x 3 24561 wheel 102 May 4 2012 node drwxr-xr-x 7 24561 wheel 238 Sep 18 16:37 node_modules 

对我来说,下面修正它:

 sudo chown $(users) /usr/local/bin/lib/node_modules sudo chown $(users) /usr/local/bin/lib/node 

PS。 $(users)将扩展到您的用户名,有点让我的方式来帮助懒惰的复制贴纸;)

thx @suweller。

我解决了这个问题:

 ➜ bin git:(master) ✗ brew link node Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking... Error: Permission denied - /usr/local/lib/node_modules/npm 

我有和suweller一样的问题:

 ➜ bin git:(master) ✗ ls -la /usr/local/lib/ | grep node drwxr-xr-x 3 24561 wheel 102 11 Okt 2012 node drwxr-xr-x 3 24561 wheel 102 27 Jan 11:32 node_modules 

所以我解决了这个问题:

 ➜ bin git:(master) ✗ sudo chown $(users) /usr/local/lib/node_modules ➜ bin git:(master) ✗ sudo chown $(users) /usr/local/lib/node 

在我解决了这个问题之后,我得到了另一个:

 ➜ bin git:(master) ✗ brew link node Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking... Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d Target /usr/local/lib/dtrace/node.d already exists. You may need to delete it. To force the link and overwrite all other conflicting files, do: brew link --overwrite formula_name To list all files that would be deleted: brew link --overwrite --dry-run formula_name 

所以我通过删除了node.d:

 ➜ bin git:(master) ✗ sudo rm /usr/local/lib/dtrace/node.d 

得到另一个权限错误:

 ➜ bin git:(master) ✗ brew link node Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking... Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d /usr/local/lib/dtrace is not writable. You should change its permissions. 

并修复它:

 ➜ bin git:(master) ✗ sudo chown $(users) /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d 

最后一切都奏效了

 ➜ bin git:(master) ✗ brew link node Linking /usr/local/Cellar/node/0.10.25... 1225 symlinks created 

大多数节点的brew安装问题都是由许可错误或之前安装的节点引起的,然后尝试通过brew进行安装。 最终为我工作的解决scheme是:

警告:这将卸载nodejs(多个版本)谨慎使用:

  1. 通过brew删除节点:

    brew卸载节点

  2. 也通过武力:

    brew卸载节点–force

  3. 使用脚本来源: 删除节点 :

    curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh

然后:

 chmod +x /path/to/terminatenode.sh 

然后:

 ./terminatenode.sh . 
  1. 然后确保执行以下命令:

    chown $ USER / usr / local

  2. 然后做一个冲泡更新(继续这样做,直到所有的东西都被更新):

    酿造更新

  3. 清理并重新运行更新(可能是多余的)并运行医生以确保事情到位:

    冲泡清理 酿造更新; 酿造医生

  4. 最后通过brew(verbose)安装节点:

    brew安装-v节点

最终的答案是:将目录的所有者更改为无论你是谁

 sudo chown -R `whoami` /usr/local/include 

如果您运行酿造医生,也推荐使用brew

我也设法搞砸了我的NPM,并在这些自制软件版本之间安装了软件包,无论多less次我断开链接/链接和卸载/安装节点,它仍然没有工作。

事实certificate,你必须从path中删除NPM,否则家酿不会安装它: https : //github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117

希望这会帮助有同样问题的人,并保存那个小时左右,我不得不花费寻找问题…

不知道,如果这是一个好主意:尝试所有其他解决scheme没有成功后,我只是重命名/ usr / local / lib / dtrace,链接的节点,并重新重新命名目录。 之后,节点按预期工作。

我一直在努力。 (对我来说“npm uninstall npm -g”什么都没做)

我试了一堆东西:

 npm uninstall npm -g brew uninstall node brew install node 

我仍然有一些问题,当我试图链接节点文件时出现错误

最后我试了这个

 brew link --overwrite node 

这似乎已经解决了。 (它覆盖了冲突的文件,也链接节点和NPM)

希望这可以帮助

我完全卸载brew并重新开始,只是再次发现相同的问题。

Brew似乎可以通过将所需的二进制文件链接到系统中来工作,其他安装方法通常会复制这些文件。

我在这里find了一组现有的节点库:

/usr/local/include/node

一些脑袋刮伤后,我记得在这个旧版本的date安装节点,并没有通过酿造。

我手动删除这整个文件夹,并成功链接npm。

这可以解释为什么使用brew卸载甚至卸载brew本身没有任何影响。

排名最高的答案非常简单,但我想我会添加我的意见,为什么它是必要的。

我猜测其他brew包的一大堆问题可能是由于老的非brew包实例造成的。

一直在symlinking节点上破坏我的头..没有什么似乎工作…但最后是什么工作是设置正确的权限。 这个“sudo chown -R $(whoami)/ usr / local”为我做了这个工作。

我通过使用以下命令在El Capitan中解决了这个问题。 老实说,不知道它做了什么,但是以为我会分享,因为它解决了我的问题。

 brew link --overwrite node 

您需要手动删除npm软件包。

首先取消链接节点: brew link -n node

删除npm文件夹: rm -R /usr/local/Cellar/node/0.8.10/lib/node_modules/npm

再次链接: brew link node

将会有一个到npm新位置的软链接