多用户Mac上Watchman的Homebrew权限

yev*_*evg 2 permissions macos homebrew watchman react-native

我的Macbook Pro上有两个运行macOD Mojave 10.14.2的用户-一个用于工作,另一个用于个人。

我在安装了react native cli和watchman的两个用户上都设置了React Native

brew install watchman

sudo npm install -g react-native-cli

这有效,我能够使用 npm start

我尝试对其他用户执行相同操作,但由于权限问题而无法使用自制软件安装watchman。

我跑了以下

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

这样就解决了。我再次能够运行本地开发服务器。


除非现在返回其他用户,否则无法再次运行服务器。

运行时出现以下错误 npm start

Loading dependency graph...libc++abi.dylib: terminating with uncaught exception of type std::__1::system_error: open: /usr/local/var/run/watchman/yev-state: Permission denied

Watchman: watchman --no-pretty get-sockname returned with exit code=null, signal=SIGABRT, stderr= libc++abi.dylib: terminating with uncaught exception of type std::__1::system_error: open: /usr/local/var/run/watchman/yev-state: Permission denied

sudo chown -R $(whoami):admin $(brew --prefix)/*再次尝试运行,但这次没有解决。

我还查看了如何为多用户macs配置Homebrew,并找到了这篇简短的文章

我创建了一个名为“ brew”的用户组,在其中添加了我的工作和个人用户,并运行了以下命令:

sudo chgrp -R brew $(brew --prefix)/*

sudo chmod -R g+w $(brew --prefix)/*

仍然没有骰子。

我无法在可以自由进行用户自制或在两个用户上运行开发服务器的情况下获取该文件(由于监视者权限错误)。每次更改用户时,我都必须“修复”权限问题。

Wez*_*ong 7

/usr/local/var/run/watchman目录需要具有权限,2777以便任何用户都可以在其中创建自己的状态目录:

sudo chmod 2777 /usr/local/var/run/watchman
Run Code Online (Sandbox Code Playgroud)

另外,值班人员会执行一些健全性检查,以查看状态目录是否看起来像具有危害的权限。我怀疑您广泛的递归chmodchown调用会触发该事件,因此,即使其他用户有一个能当值班的人,我还是建议这样做,尽管这样做是非常安全的,但会带来破坏性的事情:

sudo rm -rf /usr/local/var/run/watchman/*
Run Code Online (Sandbox Code Playgroud)

  • 上述路径对我来说不存在,但这解决了它: sudo chmod 2777 /opt/homebrew/var/run/watchman/ && sudo rm -rf /opt/homebrew/var/run/watchman/* (13认同)