web-dev-qa-db-ja.com

Railsコンソール、RVMおよびreadlineの問題

Rubyのローカル開発バージョンが、私が作業している特定のアプリ(Ruby 1.8.7)のサーバーのバージョンと同じであることを確認する方法として、rvmをインストールしました。これを実行し、Ruby 1.8.7をインストールしました。ただし、Railsコンソールを起動しようとすると、次のエラーが発生します。

Readline was unable to be required, if you need completion or history install readline then reinstall the Ruby.
You may follow 'rvm notes' for dependencies and/or read the docs page http://rvm.beginrescueend.com/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your Ruby with readline support after obtaining the readline libraries.
Couldn't load Wirble: no such file to load -- wirble

エラーに関するページ(http://rvm.beginrescueend.com/packages/readline/)のメモを読み、基本的にreadlineのインストール、アンインストールRuby 1.8を含む指示に従いました.7、次にRuby 1.8.7を再インストールし、readlineをサポートします。 (実際には、このページではRuby 1.9.2を例として使用していますが、1.8.7でも機能するはずです。おそらくそうではありません)。

しかし、それでも同じエラーが発生します。他の誰かがこれを経験し、それを理解しましたか?
助言に感謝-最大

編集-必要に応じて、私はUbuntu 9.10を使用しています。

編集-以下はrvm infoの私の出力です。

$ rvm info

system:

  system:
    uname:       "Linux max-laptop 2.6.31-22-generic #68-Ubuntu SMP Tue Oct 26 16:38:35 UTC 2010 i686 GNU/Linux"
    bash:        "/bin/bash => GNU bash, version 4.0.33(1)-release (i486-pc-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.1.6 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]"

  homes:
    gem:          "not set"
    Ruby:         "not set"

  binaries:
    Ruby:         "/usr/bin/Ruby"
    irb:          "/usr/bin/irb"
    gem:          "/usr/bin/gem"
    rake:         "/usr/bin/rake"

  environment:
    PATH:         "/home/max/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin:/home/max/software/svnmerge:/home/max/.gem/Ruby/1.8/bin:/home/max/work/e_learning_resource/trunk/public/assets/dvd_files/bin:/opt/firefox:/home/max/.rvm/bin:/home/max/.rvm/bin"
    GEM_HOME:     ""
    GEM_PATH:     ""
    MY_Ruby_HOME: ""
    IRBRC:        ""
    RUBYOPT:      ""
    gemset:       ""
52
Max Williams

Ubuntu 10.04の1.9.2にも同様の問題がありましたが、症状は同じでした。それを機能させるために:

rvm pkg install readline

またはRVMバージョン1.6.32より前では、次のコマンドが必要です。

rvm package install readline

次に:

apt-get install ncurses-dev

そして、 http://rvm.beginrescueend.com/packages/readline/ の指示から

cd $HOME/.rvm/src/Ruby-1.9.2-p0/ext/readline
Ruby extconf.rb -- --with-readline-dir="$HOME/.rvm/usr"
make install

私は実際にサーバーにシステムrvmのインストールを実行したので、これを実行する必要がありました。

cd $HOME/.rvm/src/Ruby-1.9.2-p0/ext/readline
Ruby extconf.rb -- --with-readline-dir="/usr/local/rvm/usr"
make install

その後、コンソールに完全にアクセスできました。

67
Geoff Lanotte

コマンドを実行する

rvm requirements

要件と依存関係が表示されます。それらをインストールし、Rubyをrvmに再インストールします

rvm remove 1.9.2
rvm install 1.9.2

できます!

10
Sayuj

同じ問題が発生して解決しました。確認します http://rvm.beginrescueend.com/packages/readline/ 次の2つの点を確認してください:

  1. Sudo aptitude install libreadline5-dev libncurses5-dev 使用する libreadline6-dev、新しいバージョンがある場合。
  2. Ruby extconf.rb -- --with-readline-dir='/home/youruser/.rvm/usr/include/readline'指したwith-readline-dirの下にreadline libファイルがあることを確認してください。
4
Race

Gem install rb-readlineを試しました

それでも動作しませんでした。したがって、irbを開始し、requirelineを実行しました。エラーメッセージが役立ちました。

    Readline was unable to be required, if you need completion or history install readline then reinstall the Ruby.
You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.io/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your Ruby with readline support after obtaining the readline libraries.
1.9.3p327 :001 > require 'readline'
LoadError: /usr/local/lib/libreadline.so.6: undefined symbol: UP - /home/sudhir/.rvm/rubies/Ruby-1.9.3-p327/lib/Ruby/site_Ruby/1.9.1/x86_64-linux/readline.so
    from /home/sudhir/.rvm/rubies/Ruby-1.9.3-p327/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/sudhir/.rvm/rubies/Ruby-1.9.3-p327/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from (irb):1
    from /home/sudhir/.rvm/rubies/Ruby-1.9.3-p327/bin/irb:16:in `<main>'
1.9.3p327 :002 > ^[[6^[[A^[[A^[[B^C^C

したがって、私の場合の問題は、すべて/ usr/local/libのlibreadline *でした。私はソースコードからreadlineをインストールしましたが、それがめちゃくちゃでした。

こちらの手順に従って修正してください。 http://vkarthickeyan.wordpress.com/2012/02/16/mysql-symbol-lookup-error-usrlocalliblibreadline-so-6-undefined-symbol-up/

0
Sudhir
Readline was unable to be required, if you need completion or history install readline then reinstall the Ruby.
You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.io/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your Ruby with readline support after obtaining the readline libraries.

link をたどると、この問題を修正する方法の説明が表示されます。私にとってうまくいったのは最初のステップで、手動でインストールされたパッケージをすべて削除しました:

 $ rm -rf $rvm_path/usr

その後

$ rvm requirements
$ rvm reinstall 1.9.3

うまくいきますように!

0
geekazoid

Ruby 2.1.3でこの問題がありました。RVMをアップグレードしてから再インストールしますRubyは私のために働きました:

rvm get stable
rvm reinstall 2.1.3
0
oli

このチュートリアルでbrewによるreadlineインストールを使用してみましたか?

http://blog.plataformatec.com.br/2010/05/accented-chars-in-irb-with-rvm-and-Ruby-1-8-7/

0
shingara