2013-11-20 3 views
2

Я пытаюсь установить Homebrew для OS X 10.8.5 с помощью инструкций, которые я нашел в Интернете. Я делаю это так, я могу обновить свою версию Ruby, потому что я получаю эту ошибку:stty: stdin не терминал?

Use RbConfig instead of obsolete and deprecated Config. 

, когда я пытаюсь запустить:

gem install sqlite3 

Однако, когда я бегу:

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 

я получаю другую ошибку, которая говорит:

stty: stdin isn't a terminal 
Failed during: /bin/stty raw -echo 
stty: stdin isn't a terminal 
Failed during: /bin/stty -raw echo 

Любые идеи?

ответ

0

Когда стандартный вход является файлом, он не является терминалом, поэтому установка атрибутов терминала на стандартный ввод stty не будет работать.

Сначала это звучит глупо, но вы, вероятно, обнаружите, что вы можете использовать либо stdout, либо stderr как вход для stty, и он отрегулирует терминал. Поэтому:

system("stty cbreak -echo <&2"); 

Таким образом, вы можете загрузить скрипт из https://raw.github.com/mxcl/homebrew/go и изменять строки, которые считывают system "/bin/stty raw -echo" к system "/bin/stty raw -echo <&2"

Затем насос измененный файл в ruby -e

частично взяты из: (unix/C) "stty: stdin isn't a terminal" when using system() function

0

Решение с system "/bin/stty raw -echo <&2" не работало для меня. Мне пришлось переусердствовать с этой строкой: system "/bin/stty raw -echo". Тогда это сработало.

3

Я столкнулся с такой же ситуацией, как ваш, когда я хочу установить домородок для Mac OSX 10.9.1. И я нахожу это, набрав это в терминале:

curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install | ruby 

Это работает для меня. В этом вопросе есть вопрос о совете по вопросам домоводства.

https://github.com/Homebrew/homebrew/issues/19276

1

Для тех, кто интересуется еще использует «трубу Рубин» технику, то GitHub расположение доморощенного изменилось. Вот эта команда обновлена ​​в новом месте:

Смежные вопросы