18

重複の可能性:
Ruby1.9.2およびRails3はRailsコンソールを開くことができません

私はすでにrvmとruby1.9.2をインストールしましたが、どちらも正しく機能しています。rvmバージョン1.10.2を使用します。以前にrvmパッケージreadline/zlibをインストールしましたが、現在readlineで大きな問題が発生しています。rvmにruby1.9.3をインストールしようとしていますが、常にreadlineが見つかりません。

私はさまざまな解決策に従おうとしました:

 rvm remove 1.9.3
 rvm pkg install readline
 rvm install 1.9.3 --with-readline-dir=$rvm_path/usr/ \
     --with-zlib-dir=$rvm_path/usr/

 rvm use 1.9.3
 rvmsudo gem install bundler
 bundle install (all gems installed fine)
 rails c / rails s 
 .rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/completion.rb:9:in `require': \
     cannot load such file -- readline (LoadError)

libreadline-dev(バージョン6、現在のもの)をインストールしました(これらのパッケージに必要なものはすべて)

私も次のことを試しました:

.rvm/src/ruby-1.9.3-p0/ext/readline]$ 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

.rvm/src/ruby-1.9.3-p0/ext/readline]$ ruby extconf.rb \
    --with-readline-dir=/home/claudiocontin/.rvm/usr/
 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

 .rvm/src/ruby-1.9.3-p0/ext/readline]$ ruby extconf.rb \
    --with-readline-lib=/home/claudiocontin/.rvm/usr/
 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

もちろん、Makefileは生成されません...

 apt-get install libreadline-dev
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 libreadline-dev is already the newest version.

アイデア?

4

3 に答える 3

46

私はrvmpkgreadlineを実行しようとしましたが、ubuntupkgsなどをインストールしようとしましたが成功しませんでした。私のために働いたこと:

gem install rb-readline

そして、Gemfileに次の行を追加します。

gem 'rb-readline'
于 2012-01-23T15:06:50.013 に答える
12

私がやったことは、rvm usr /lib/パスからすべてのlibreadlineを削除することです。

インストールされたlibreadline5-devパッケージ(この場合は.deb)は手動でダウンロードされました。これは、新しいubuntuディストリビューションには候補としてlibreadline6-devしかないためです。

rvm ruby​​1.9.3srcに移動しました。

ruby extconf.rb --with-editline-dir=/usr/ --with-readline-dir=/usr/
make
sudo make install

今では魅力のように機能します。

非常に苦痛なもの:)

編集:

また、readlineはlibeditline-devも使用するようになったことにも注意してください。rubyreadlineを構成するときに手動で無効にして、次のように渡すことができます。--disable-libedit

 ruby extconf --disable-libedit
于 2012-01-19T19:46:22.167 に答える
5

私はいつも、RVMをパッケージとうまく連携させることはちょっとしたブードゥーであることに気づきました。多くの場合、それは依存関係をキャッチすることです-私は過去に運が良かったスクリプトをまとめました、これを試してください:

sudo apt-get install zlib1g-dev libssl-dev libsqlite3-dev libmysqlclient-dev imagemagick librmagick-ruby libxml2-dev libxslt1-dev build-essential openssl libreadline6 libreadline6-dev zlib1g libyaml-dev libsqlite3-0 sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison libpq-dev libpq5 libmysql-ruby libmysqlclient-dev

rvm pkg install autoconf
rvm pkg install zlib
rvm pkg install readline
rvm pkg install openssl
rvm pkg install iconv
rvm install 1.9.3
rvm use 1.9.3 --default
于 2012-01-19T03:26:24.710 に答える