65

我从字面上搜索了网络上的所有内容。但我找不到错误的解决方案node-0.8.8 already installed, it's just not linked。它与路径文件问题有关吗?

4

8 回答 8

219

按此特定顺序执行此命令列表:

sudo brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) $(brew --prefix)
brew link --overwrite node
brew postinstall node
于 2016-05-19T18:21:05.643 回答
48

运行brew upgrade将节点更新到最新版本后,运行brew doctor以查看存在哪些潜在问题。它可能会告诉您节点未链接,在这种情况下,运行brew link node将链接它。(您可能需要先运行brew unlink node

于 2013-07-03T13:57:21.557 回答
28

我今天遇到了同样的错误,它告诉我 Node 没有正确链接,并且还有意外的头文件。

当我尝试重新安装节点时,它告诉我它已经安装,只是没有链接。

Warning: /usr/local/include isn't writable

/usr/local/bin/node already exists. Remove it

解决方案

为了解决这个问题,我通过以下方式获得了它的所有权:

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

然后我使用以下命令强制链接所有文件:

brew link --overwrite node

之后,我执行了安装后例程:

brew postinstall node

然后我检查了节点是否正确安装:

node -v

我收到了输出v5.1.0,它是固定的:)。希望这可以帮助。

这可能不是完美的解决方案,因为我在 10 分钟前才开始涉足 node 和 homebrew,但它为我完成了工作。

于 2016-04-26T05:51:14.313 回答
6

您的旧版本的 Node 0.5 可能没有安装 Homebrew(或者 Homebrew 的脚本在 0.5 beta 版本和 0.8 稳定版本之间的巨大差距中发生了变化(介于两者之间的 0.6 和 0.7 版本)。

Homebrew 和官方的 Node 安装程序都尝试安装到,/usr/local/bin所以我建议先删除/usr/local/bin/node, /usr/local/bin/npm/usr/local/lib/node然后再试一次。

于 2012-12-02T03:50:55.223 回答
3

hardcorepunk 的回答奏效了。但是,我们不能再/usr/local在 High Sierra 中大喊大叫了。因此,按以下顺序执行命令:

sudo brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) $(brew --prefix)/*
brew link --overwrite node
brew postinstall node
于 2018-03-04T02:54:10.403 回答
1

要链接节点,请运行以下命令:

brew link homebrew/versions/node<version no>

并检查它是否正确安装,运行:

node -v

如果节点正确链接,它将不会出现任何错误,并且会打印节点版本。你可以从这里阅读关于它的很好的解释。

于 2016-02-24T08:17:21.693 回答
0

对于 line 做了这项工作:

brew link --overwrite node

它强制链接并覆盖所有冲突的文件:

于 2016-10-21T07:43:03.260 回答
-2

您可以更改文件的权限"/usr/local/bin/node",例如"chmod +w /usr/local/bin/node",使其可写。

于 2013-09-26T05:50:41.267 回答