Brew清理错误:权限被拒绝@ unlink_internal

Sof*_*mur 26 macos homebrew node.js

我在进行“酿造清理”时遇到错误:

$ brew cleanup
Warning: Skipping opam: most recent version 2.0.3 not installed
Warning: Skipping python: most recent version 3.7.2_2 not installed
Warning: Skipping sqlite: most recent version 3.27.1 not installed
Error: Permission denied @ unlink_internal - /usr/local/lib/node_modules/@angular/cli/node_modules/.bin/in-install
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这一问题?

PS:brew link node返回错误,尽管我不知道是否相关。

$ brew install node
Warning: node 11.9.0 is already installed, it's just not linked
You can use `brew link node` to link this version.
$ brew link node
Linking /usr/local/Cellar/node/11.9.0... 
Error: Could not symlink include/node/common.gypi
Target /usr/local/include/node/common.gypi
already exists. You may want to remove it:
  rm '/usr/local/include/node/common.gypi'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node
Run Code Online (Sandbox Code Playgroud)

hme*_*ia1 41

导致错误的第一个修复权限:

sudo chown -R "$(whoami)":admin /usr/local
Run Code Online (Sandbox Code Playgroud)

在macOS Mojave上,该chown命令需要在特定目录上运行,例如/usr/local/lib目录中权限问题的示例,该命令为

sudo chown -R "$(whoami)":admin /usr/local/lib
Run Code Online (Sandbox Code Playgroud)

然后按照指示重新链接node--force选项:

brew link --overwrite node
Run Code Online (Sandbox Code Playgroud)

  • “ chown”命令返回“ chown:/ usr / local:不允许操作”。 (6认同)
  • `sudo chown -R“ $(whoami)”:admin / usr / local / lib`没有返回错误。显然,我们无法在`/ usr / local`上执行此操作。 (3认同)
  • @ryenus听起来很荒谬。 (2认同)
  • @ryenus`/ usr / local`不是Mac上的系统文件夹,对于应用程序设计如此糟糕以至于如果`/ usr / local`是用户拥有的应用程序设计得如此糟糕以至于无法运行,这是很疯狂的。实际上,我在`/ usr / local`下有成千上万个文件夹,并且只要有Mac(多年),我就一直在使用`chmod -R`。因此,我从来没有遇到过一个问题,并且我拥有*许多*开发环境,工具,库,Python的多个版本以及其他系统/用户组合。我什至可能建议McAfee无法启动时会更好地工作。谁在Mac上拥有该功能? (2认同)
  • @hmedia1 完全同意你的观点。我能够通过仅运行“/usr/local/lib/node_modules/”命令来解决问题 (2认同)

Shr*_*lox 5

这为我工作:

brew unlink node && brew link node
Run Code Online (Sandbox Code Playgroud)