使用-e标志运行R时找不到Sed目录

pet*_*ens 9 homebrew r sed

当我尝试运行以下命令时: R --slave --no-save --no-restore -e "print('foo')"

我明白了: /usr/local/bin/R: line 193: /usr/local/Library/ENV/4.3/sed: No such file or directory ERROR: option '-e' requires a non-empty argument

显然brew最近将ENV文件夹移动到了新路径(请参阅此处).我知道我可以轻松地对新的sed目录进行符号链接以修复问题,但我想知道是否有更好的解决方法/修复(最终如果这将在R源代码中修复).

cda*_*sio 10

发生这种情况是因为brew此提交中更改了它的路径,因此如果您brew update在过去4天内运行,则会导致破坏.

幸得blindjesse这个答案,这是brew reinstall -s r.

当我尝试这个时,我遇到了一些其他问题.我没有安装X11,而且我遇到了冲突,tcl-tk这意味着它在编译时会导致其他一些失败:

  1. 我从https://www.xquartz.org安装了XQuartz
  2. 将它符号链接到我的自制文件夹ln -s /opt/X11/include/X11 /usr/local/include/X11(请注意,您的自制程序目录可能不同)
  3. brew install homebrew/dupes/tcl-tk brew link --overwrite --force tcl-tk; brew unlink tcl-tk
  4. brew reinstall -s r

然后它对我有用.我认为一旦r瓶子升级,这个问题就会消失,但目前这就是我必须做的事情.