Watchman 多用户自制软件权限 Mac

Homebrew Permissions for Watchman on Muti-user Mac

我的 Macbook Pro 运行ning 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)/*

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


除了现在当我回到我的其他用户时,我无法再次 运行 服务器。

当 运行ning 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

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

我还查找了如何为多用户 mac 配置 Homebrew,发现 this short article

我创建了一个名为 "brew" 的用户组,向其中添加了我的工作用户和个人用户,并 运行 以下内容:

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

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

仍然没有骰子。

我无法在两个用户上自由使用 homebrew 或 运行 开发服务器(由于 watchman 权限错误)。每次更改用户时,我都必须 "fix" 权限问题。

/usr/local/var/run/watchman目录需要有权限2777,这样任何用户都可以在里面创建自己的状态目录:

sudo chmod 2777 /usr/local/var/run/watchman

此外,watchman 会执行一些健全性检查,以查看状态目录是否看起来可能具有妥协的权限;我怀疑你的非常广泛的递归 chmodchown 调用正在触发它,所以我建议这是一个非常安全的虽然破坏性的事情假设其他用户有一个工作守望者:

sudo rm -rf /usr/local/var/run/watchman/*