не могу заставить "консоль rails" работать на Ubuntu 11.10 - PullRequest
6 голосов
/ 21 декабря 2011

Я хочу использовать консоль rails, и я использую Ubuntun 11.10. В настоящее время я нашел проблему

ошибка что-то:

completion.rb:9:in `require': no such file to load -- readline (LoadError)

и я нашел способ ее решить:

http://blog.jasonmeridth.com/2010/11/25/readline-error-with-rvm-and-rails-3.html

но, похоже, в Ubuntu 11.10 libreadline5-dev отсутствует и заменяется версией 6

Я установил версию 6, а также получил версию 5 от

https://launchpad.net/ubuntu/oneiric/i386/libreadline-gplv2-dev/5.2-9ubuntu1

но все же, если я попытаюсь запустить следующий код:

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

часть "нет" - моя проблема, так как я могу решить эту проблему?

Ответы [ 2 ]

12 голосов
/ 25 января 2012

Ubuntu 11.10 использует более новую библиотеку readline, которая не синхронизирована с пакетом readline, предлагаемым rvm

Чтобы решить эту проблему (при условии, что вы используете однопользовательскую установку rvm), выполните:

1) убедитесь, что вы установили Ubuntus readline и editline dev пакеты

sudo apt-get install libreadline6 libreadline6-dev

2) настроить расширение readline ruby ​​для использования системных библиотек, а не пакетов rvm

rvm pkg uninstall readline
cd ~/.rvm/src/ruby-1.9.2-p290/ext/readline
ruby extconf.rb --with-editline-dir=/usr/ --with-readline-dir=/usr/
make
make install

3) зайдите в свой проект и запустите консоль rails



Совет: Вы можете позвонить

rvm requirements

чтобы узнать, какие пакеты ubuntu должны быть установлены для использования rvm ruby ​​

0 голосов
/ 21 декабря 2011

Вы должны установить пакеты разработки readline перед компиляцией ruby. Просто беги

sudo apt-get install libreadline6-dev

В качестве альтернативы (как предложено в статье, которую вы связали) вы можете использовать RVM для получения соответствующих источников readline, запустив

rvm package install readline

Редактировать: После установки пакетов readline из исходного кода вы можете установить свои рубины следующим образом

rvm install 1.9.3 --with-readline-dir="$rvm_path/usr"

Если вы уже установили конкретный рубин, просто используйте reinstall вместо install.

...