Каталог Sed не найден при запуске R с флагом -e

Когда я пытаюсь запустить следующую команду: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).

 Konrad Rudolph18 июл. 2016 г., 17:46
Вы пытались переустановить R? Кажется, что-то запутано и не подлежит восстановлению.
 petobens18 июл. 2016 г., 17:58
@KonradRudolph Я попытался переустановить, и это не решило проблему.
 K. Shores18 июл. 2016 г., 22:01
Я отправил отчет о проблеме в Git. Пожалуйста, дайте мне знать, если вы думаете, что я должен добавить больше информации.github.com/Homebrew/brew/issues/553
 Konrad Rudolph18 июл. 2016 г., 18:53
Кажется, это воспроизводимая проблема -stackoverflow.com/q/38441722/1968 - это, вероятно, следует сообщать как ошибка для Homebrew.

Ответы на вопрос(3)

Решение Вопроса

Это происходит потому, чтоbrew изменил его пути вэтот коммит так что если вы бежитеbrew update за последние 4 дня это и стало причиной поломки.

Кредит идет вblindjesse за этоответ, который долженbrew reinstall -s r.

Я столкнулся с некоторыми другими проблемами, когда я попробовал это все же. У меня не был установлен X11, и у меня был конфликт сtcl-tk что означало, что это вызывало некоторые другие сбои при компиляции так:

Я установил XQuartz отhttps://www.xquartz.orgSymlinked это к моей домашней папкеln -s /opt/X11/include/X11 /usr/local/include/X11 (обратите внимание, что ваш домашний справочник может отличаться)brew install homebrew/dupes/tcl-tk brew link --overwrite --force tcl-tk; brew unlink tcl-tkbrew reinstall -s r

И тогда это сработало для меня. Я думаю, что однаждыr Бутылка обновлена, эта проблема должна исчезнуть, но на данный момент это то, что я должен был сделать.

Обновленный до Сьерра, попробовал команды выше и также указания здесь:https://github.com/Homebrew/homebrew-science/issues/4338, После того, как я также переустановил ядро ​​R, следуя инструкциям здесь:https://github.com/IRkernel/IRkernelвсе снова заработало. Ой вей.

Чтобы переустановить ядро ​​R, запустите R в терминале и введите следующее:

install.packages(c('repr', 'IRdisplay', 'crayon', 'pbdZMQ', 'devtools'))
devtools::install_github('IRkernel/IRkernel')
IRkernel::installspec()  # to register the kernel in the current R installation

Вместо того, чтобы иметьsedпуть жестко закодирован, простой обходной путь - отредактировать скрипт R и изменить строку 193 с помощью

SED=$(which sed)

Ваш ответ на вопрос