尝试通过 Brew 安装 R 时,我收到以下输出和错误:
==> Pouring pcre-8.43.mojave.bottle.tar.gz
cp: /usr/local/Cellar/pcre/./8.43:
cp: /var/folders/3l/zsdg6x9x61g8nhnb8f6pxzvw0000gn/T/d20190415-7574-1t8em0n/pcre/./8.43: unable to copy extended attributes to /usr/local/Cellar/pcre/./8.43: Permission denied
cp: /usr/local/Cellar/pcre/./8.43/INSTALL_RECEIPT.json: No such file or directory
cp: /usr/local/Cellar/pcre/./8.43/bin: No such file or directory
....
cp: utimes: /usr/local/Cellar/pcre/.: Operation not permitted
Error: Failure while executing; `cp -pR /var/folders/3l/zsdg6x9x61g8nhnb8f6pxzvw0000gn/T/d20190415-7574-1t8em0n/pcre/. /usr/local/Cellar/pcre` exited with 1. Here's the output:
cp: /usr/local/Cellar/pcre/./8.43: Permission denied
cp: /var/folders/3l/zsdg6x9x61g8nhnb8f6pxzvw0000gn/T/d20190415-7574-1t8em0n/pcre/./8.43: unable to copy extended attributes to /usr/local/Cellar/pcre/./8.43: Permission denied
....
Warning: Bottle installation failed: building from source.
Error: An exception occurred within a child process:
Errno::EACCES: Permission denied @ dir_s_mkdir - /usr/local/Cellar/pcre/8.43
我正在使用管理员帐户安装它。通过我的普通非管理员帐户,我遇到了更多麻烦,然后不得不更改许多 /usr/local 文件夹,我不认为这是个好主意。也许对于 brew 文件夹来说这没问题,但对于其他东西则不行。
我如何安装 R 并使其运行?
答案1
可能是权限问题。根据上面给出的日志,我认为关键点是/usr/local/Cellar/
子目录/父目录的权限。检查权限可能会有帮助。
要更新权限(如果需要),请使用命令:
sudo chown -R ${USER}:staff /usr/local/Cellar/
答案2
正如 Edenshaw 所评论的:
sudo chown -R ${USER}:staff /usr/local/Cellar/
这也帮我解决了错误安装后的问题。
答案3
我在与另一个已经安装了 brew 的用户共享的系统上遇到了同样的问题。
看起来 brew 为所有用户使用一个共享目录,并且第一个用户拥有 brew 目录。
因此,您实际上不需要更改权限,因为您只需将自己添加到组中即可。(请记住在将自己添加到组后注销/登录)。
在我的系统上,该组是‘brew’。
您可以通过运行以下命令检查系统上的组:
ls -la /usr/local/Cellar/
ls -la /usr/local/Homebrew/Library/Taps/homebrew
这两个目录都应该属于同一组。
如果由于当前组不合适而必须更改路径,则运行以下命令将“brew”更改为首选组。
sudo chown -R ${USER}:brew /usr/local/Homebrew/Library/Taps/homebrew
sudo chown -R ${USER}:brew /usr/local/Cellar/
系统的所有用户都需要成为“brew”组的成员。