3

更新:他の場所で見つかった解決策を試しているときに、おそらくシステムを台無しにしました。私はゼロから始め、Ruby1.9.3を問題なくインストールしました。さて、ree-1.8.7を一緒にうまくプレイしてみてください...


KubuntuにRVMを使用してRuby1.9.3をインストールしようとしています(11.10だと思います)。私はこれまでReadlineで多くの問題を抱えてきましたが、これ以外のすべての答えを見つけました。

この方法でRuby1.9.3をインストールしました。

rvm install 1.9.3
# Install of ruby-1.9.3-p0 - #complete 
cd ~/.rvm/src/ruby-1.9.3-p0/ext/readline/
~/.rvm/src/ruby-1.9.3-p0/ext/readline $ ../../ruby extconf.rb --with-editline-dir="/usr" --with-readline-dir="/usr"
# any other way of doing this resulted in simply readline not being loaded when trying to start the console
# I have libreadline6 and libreadline6-dev installed (and all the packages requested in `rvm requirements`
make install
# compiling readline.c                                                                                                                                                                                      
# linking shared-object readline.so                                                                                                                                                                         
# /usr/bin/install -c -m 0755 readline.so /home/mbillard/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/x86_64-linux                                                                                    
# installing default readline libraries 

これまでのところ、すべてが正常に実行されているように見えますが、コンソールを起動しようとすると、次のエラーが発生します。

/home/mbillard/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/completion.rb:9:in `require': /home/mbillard/.rvm/usr/lib/libreadline.so.6: undefined symbol: UP - /home/mbillard/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/x86_64-linux/readline.so (LoadError)
  from /home/mbillard/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
  from /home/mbillard/.rvm/gems/ruby-1.9.3-p0@taskman/gems/railties-3.2.1/lib/rails/commands/console.rb:3:in `require'
  from /home/mbillard/.rvm/gems/ruby-1.9.3-p0@taskman/gems/railties-3.2.1/lib/rails/commands/console.rb:3:in `<top (required)>'
  from /home/mbillard/.rvm/gems/ruby-1.9.3-p0@taskman/gems/railties-3.2.1/lib/rails/commands.rb:38:in `require'
  from /home/mbillard/.rvm/gems/ruby-1.9.3-p0@taskman/gems/railties-3.2.1/lib/rails/commands.rb:38:in `<top (required)>'
  from script/rails:6:in `require'
  from script/rails:6:in `<main>'

上記のコマンドでReadlineをコンパイルするときに使用rvm install 1.9.3 --with-readline-dir="$rvm_path/usr"して使用しようとしましたが、次のエラーが発生しました。$rvm_path

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

だから、あなたが提供できるどんな助けにも感謝します。

4

3 に答える 3

6

次の出力をお読みください。

rvm requirements

Rubyを有効に活用するためにインストールする必要のあるライブラリのリストが表示されます

すべてのライブラリをインストールした後、rvmでインストールされたライブラリをクリーンアップしてRubyを再インストールします。

rm -rf $rvm_path/usr
rvm reinstall 1.9.3
于 2012-02-14T15:00:27.047 に答える
5

readline開発パッケージをインストールする必要があります。(これが私の答えが他の既存のものとどのように異なるかです):

apt-get install libreadline-dev

その後、Rubyを再インストールでき(@mpapisですでに説明したように)、すべてが機能するはずです。

rvm reinstall 1.9.3
于 2012-02-14T15:23:19.493 に答える
1

同様の問題がありました。試す

brew link readline --force

それは私のために働いた。

私はここから解決策を得ました:

Railsコンソールがロードされない

于 2014-03-08T19:11:55.033 に答える