Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Sed directory not found when running R with -e flag

Tags:

homebrew

r

sed

When I try to run the following command: R --slave --no-save --no-restore -e "print('foo')"

I get: /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

Apparently brew recently moved the ENV folder to a new path (see here). I know I can easily symlink the new sed dir to fix the issue but I wanted to know if there is a better workaround / fix (and eventually if this will be fixed in the R source code).

like image 304
petobens Avatar asked Jul 18 '16 15:07

petobens


2 Answers

This happens because brew has changed it's paths in this commit so if you've run brew update in the last 4 days, this is what has caused the breakage.

Credit goes to blindjesse for this answer, which is to brew reinstall -s r.

I ran into some other issues when I tried this though. I didn't have X11 installed and I had a conflict with the tcl-tk which meant that it caused some other failures when it was compiling so:

  1. I installed XQuartz from https://www.xquartz.org
  2. Symlinked it to my homebrew folder ln -s /opt/X11/include/X11 /usr/local/include/X11 (note that your homebrew directory may be different)
  3. brew install homebrew/dupes/tcl-tk brew link --overwrite --force tcl-tk; brew unlink tcl-tk
  4. brew reinstall -s r

And then it worked for me. I think once the r bottle is upgraded this issue should disappear but for the moment this is what I had to do.

like image 155
cdaloisio Avatar answered Nov 15 '22 03:11

cdaloisio


Upgraded to Sierra, tried the commands above and also the directions here: https://github.com/Homebrew/homebrew-science/issues/4338. After I also reinstalled the R kernel following the instructions here: https://github.com/IRkernel/IRkernel, things started working again. Oy vey.

To reinstall the R kernel, start R in the terminal and enter the following:

install.packages(c('repr', 'IRdisplay', 'crayon', 'pbdZMQ', 'devtools'))
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec()  # to register the kernel in the current R installation
like image 22
andrewpederson Avatar answered Nov 15 '22 02:11

andrewpederson