首页 > 解决方案 > 为什么 brew 说 nodejs 已安装?

问题描述

首先,我node在 macOS 终端中运行,并得到

bash: /usr/local/bin/node: No such file or directory    

我跑brew install node得到

Warning: node 12.10.0 is already installed, it's just not linked You can use `brew link node` to link this version.

所以我跑brew link node

Error: Could not symlink include/node/common.gypi                                                                 
/usr/local/include/node is not writable.   

我想这是一些权限问题。所以我用 sudo 运行它并得到

Error: Running Homebrew as root is extremely dangerous and no longer supported.                                   
As Homebrew does not drop privileges on installation you would be giving all                                      
build scripts full access to your system. 

然后我尝试brew uninstall node,并重复上述所有步骤,仍然得到相同的错误。我该怎么办?

标签: node.jsmacoshomebrew

解决方案


注意:切勿sudobrew. 运行brewasroot可能会更改 brew 相关文件的所有者,并使其无法被当前用户访问。

回答问题:您可能/usr/local/include/node已经通过使用破坏了目录的权限sudo。为了解决这个问题,

rm -rf /usr/local/include/node
brew unlink node
brew link node

如果上述命令不能解决您的问题。尝试以/usr/local递归方式修复所有文件夹权限。然后再次尝试上述修复。

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

推荐阅读