Readline не работает в rvm - Ubuntu 11.10 - PullRequest
12 голосов
/ 29 декабря 2011

Я использую rvm на моем Ubyntu 11.10. Мой readline не работает, я попытался ruby extconf.rb, но он не прошел. Выход ниже:

$ ruby extconf.rb 
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... yes
checking for readline/history.h... yes
checking for readline() in -lreadline... no
checking for readline() in -ledit... no
checking for editline/readline.h... no

Я пытался установить libncurses5-dev и libreadline5-dev

$ sudo apt-get install libncurses5-dev libreadline5-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libreadline5-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  libreadline-gplv2-dev:i386 lib64readline-gplv2-dev:i386 libreadline-gplv2-dev

E: Package 'libreadline5-dev' has no installation candidate

В чем здесь проблема? Кто-нибудь может помочь?

Ответы [ 6 ]

21 голосов
/ 01 января 2012

Та же проблема, что и здесь Ошибки Readline не позволяют мне запустить консоль rails

В Ubuntu вы можете использовать системную установку readline.

rvm uninstall ${YOURUBYVERSION}
sudo apt-get install libreadline-dev
rvm install ${YOURUBYVERSION} --with-readline-dir=/usr/include/readline

Заменить $ {YOURUBYVERSION}с желаемой рубиновой версией.

7 голосов
/ 10 января 2012

Я получил решение:

Запустите команду

rvm requirements

Показывает требования и зависимости.Установите их и переустановите ruby ​​на rvm

rvm remove 1.9.2
rvm install 1.9.2

Все работает!

5 голосов
/ 06 января 2012

Почему-то я не могу прокомментировать ответ @ zzeroo, но хочу обратить внимание на тот факт, что он использует

 --with-readline-dir=/usr/include/readline

вместо

--with-readline-dir=$rvm_path/usr

Я долго бился головой о стену и менял это, исправляя это для меня.

2 голосов
/ 21 февраля 2012

Я гуглил пару дней, но ответы мне не помогли, поэтому мое решение было:

Полностью удалить rvm Как удалить rvm

Удалить всерубиновые пакеты.Сначала выясните, какие пакеты у вас есть:

dpkg -l | grep ruby

, затем сделайте

sudo apt-get purge {PACKAGE}

, где {PACKAGE} - это пакет, который вы хотите удалить (для меня тамбыли ruby ruby1.8 ruby1.9.1)

Затем я сделал новую установку RVM Установите RVM и установил ruby ​​1.9.2 с

rvm install 1.9.2

Теперь это должно работать!

2 голосов
/ 29 декабря 2011

Вы пробовали:

rvm pkg install readline

Затем установите ruby ​​через RVM --with-readline-dir=$rvm_path/usr?

http://beginrescueend.com/packages/readline/

FWIW, я бы предложил дать rbenv + ruby-build , если вы никогда не рассматривали это.Гораздо меньше головных болей, чем с RVM.

1 голос
/ 26 апреля 2012

Я попробовал все, но это не сработало.Мне нужно было выполнить rvm implode (после установки всех требований), а затем установить rvm 1.8.7;RVM установить 1.9.3, и это будет

...