加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 尝试启动rails控制台时为什么会出现Readline错误?

发布时间:2020-12-17 01:46:07 所属栏目:百科 来源:网络整理
导读:更新:我可能在尝试在其他地方找到解决方案时弄乱了我的系统.我从零开始,安装 Ruby 1.9.3顺利安装.现在试着让ree-1.8.7和…一起玩得很好…… 我正在尝试使用RVM在Kubuntu上安装Ruby 1.9.3(我相信11.10).到目前为止,我一直有很多关于Readline的问题,但除此之
更新:我可能在尝试在其他地方找到解决方案时弄乱了我的系统.我从零开始,安装 Ruby 1.9.3顺利安装.现在试着让ree-1.8.7和…一起玩得很好……

我正在尝试使用RVM在Kubuntu上安装Ruby 1.9.3(我相信11.10).到目前为止,我一直有很多关于Readline的问题,但除此之外我找到了答案.

我用这种方式安装了Ruby 1.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>'

我尝试使用rvm install 1.9.3 –with-readline-dir =“$rvm_path / usr”并在上面的命令中编译Readline时使用$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

所以,感谢您提供的任何帮助.

解决方法

请阅读输出:

rvm requirements

它将显示您需要安装的库列表以充分利用Ruby

安装完所有库后,清理rvm安装的库并重新安装Ruby:

rm -rf $rvm_path/usr
rvm reinstall 1.9.3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读