我在我的Macbook Pro上有两个用户,一个用于工作,另一个用于个人使用。
我在两个用户上都安装了React Native,并安装了react native cli和watchman:
brew install watchman
sudo npm install -g react-native-cli
这个过程很顺利,我能够使用npm start
启动本地服务器。
但是,在另一个用户上操作时,由于权限问题无法使用homebrew安装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)/*
,但这次并没有解决问题。
我还查阅了如何为多用户mac配置Homebrew并找到了这篇简短的文章
我创建了一个名为“brew”的用户组,将我的工作和个人用户都加入其中,并运行了以下命令:
sudo chgrp -R brew $(brew --prefix)/*
sudo chmod -R g+w $(brew --prefix)/*
但是仍然不行。
我无法自由地使用Homebrew或在两个用户上运行开发服务器(由于watchman权限错误)。每次更改用户时,我都必须“修复”权限问题。