节点已经安装,只是没有链接

Node already installed, it's just not linked

我试图修复 运行ning npm 时必须使用 sudo 的错误。我盲目跟着一个link卸载node,代码来自这个gist

在 运行 执行命令后,我尝试用 brew 重新安装它:brew install node。这给了我以下错误:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/doc/node/gdbinit
/usr/local/share/doc/node is not writable.

You can try again using:
  brew link node

尝试 运行 brew link node,我得到:

Linking /usr/local/Cellar/node/5.4.0... 
Error: Could not symlink share/systemtap/tapset/node.stp
/usr/local/share/systemtap/tapset is not writable.

然后当我写 brew install npm 时,我得到:

Warning: node-5.4.0 already installed, it's just not linked

当我写 npm -v 时,我得到:

env: node: No such file or directory

关于如何解决这个问题有什么想法吗?

我设法先 运行 sudo chown -R $USER /usr/local 解决了这个问题,然后 brew link node 解决了这个问题。现在我已经正确安装了节点。

我在 brew link jq 时确实遇到了同样的问题,但指的是 /usr/local/lib is not writable。在我的一台机器上,我无法应用 Ela 建议。 我做了 sudo chmod 776 /usr/local/lib 然后我做了 brew link jq 这是成功的然后将它改回 sudo chmod 755 /usr/local/lib.

sudo chown -R $USER /usr/local
brew link --overwrite node

这个解决方案有效!它是所有组合的组合。

使用以下代码修复它。

  1. sudo chmod 776 /usr/local/lib
  2. brew link --overwrite node

    Outputs: Linking /usr/local/Cellar/node/9.6.1... 49 symlinks created

  3. sudo chmod 755 /usr/local/lib

更改 /usr/local 权限给您的用户:

sudo chown -R $USER /usr/local

然后 运行 brew postinstall:

brew postinstall node

大功告成。要检查:

npm -v

额外步骤:运行 用于清洁目的的 brew doctor

brew doctor

如果医生找到,您可能需要 运行e 一些额外的旧东西。

如果您在 High Sierra 上,则 sudo chown -R $USER /usr/local 将不起作用。而是使用:

sudo chown -R $(whoami) $(brew --prefix)/*

来源:https://github.com/Homebrew/brew/issues/3228#issuecomment-332679274

OSX High Sierra 用户:

sudo chown -R $(whoami) $(brew --prefix)/*

brew link --overwrite node

然后检查 node -v 和 npm -v

我遇到了同样的问题,这是我得到的解决方案。

sudo chown -R $USER /usr/local 避免这种情况。玩所有权很棘手,对新手来说可能是灾难性的。

如果您使用 Home-brew,请不要单独安装 node 和 rpm。

首先安装 Homebrew,然后使用 brew 安装所有包。

解决方案 - 如果您分别安装 node 和 npm,然后还通过 home-brew 安装,那么您将遇到权限问题 - 我在安装 React Native CLI 时遇到了这个问题。 删除下面提到的所有文件夹。 /usr/local/bin,/usr/local/etc,/usr/local/include,/usr/local/lib,/usr/local/sbin ,/usr/local/share,/usr/local/var,/usr/local/opt,/usr/local/share/zsh,/usr/local/share/zsh/site-functions,/usr/local/var/homebrew,/usr/local/var/homebrew/链接 ,/usr/local/Cellar,/usr/local/Caskroom,/usr/local/Homebrew,/usr/local/Frameworks

我删除了 /user/local 文件夹下的所有文件,因为我不知道我在那里安装了什么。

只需执行此操作并重新安装自制软件即可享受!!

对于莫哈韦沙漠 ||卡特琳娜||大苏尔 ||蒙特雷使用:

sudo chown -R $(whoami) $(brew --prefix)

brew link --overwrite node

在这种情况下,显然您正在为机器中的 2 个版本而苦苦挣扎 并且 您应该 link 指向正确版本的指针 ,尝试再次安装节点并 Unlink 以前的版本和 Link新的.

brew install node
brew link --overwrite node

//If it already linked
brew unlink node && brew link node

您必须允许它被覆盖。任何目录不可写

例如,如果它 /usr/lib/dtrace

sudo chown -R `whoami`:admin /usr/lib/dtrace

然后

brew link --overwrite node

修复它

解决了类似的问题:

sudo mkdir /usr/local/include
sudo chown -R $(whoami) /usr/local/include
brew link node

这在以后的场合也能派上用场:

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

None 我试过的其他方法都奏效了。我通过执行以下操作修复了它。

  1. https://nodejs.org/en/
  2. 下载最新版本
  3. 完成下载并完成所有安装步骤后。
  4. 运行 这个命令 nvm install node --reinstall-packages-from=node
  5. node -v 应显示最新版本
  6. npm install npm@latest -g 也应该有效

如果节点在命令行中工作但不工作 vscode 那么试试这个..命令行中的“哪个节点”来检查你安装它的目录.. .nvm/versions/node/v16.11.0/bin/node 然后在 vscode 你可能会得到错误 not not found ... usr/local/bin.. 所以基本上你这样做 ln -s /Users/.nvm/versions/node/v16.11.0/bin/npm /usr/local/bin/npm。所以基本上你需要改变目录。但首先是您从终端中的“哪个节点”获得的目录,第二个是来自错误消息的目录。

除了

,对我没有任何作用
brew cleanup