/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require'

本文记录了一次解决Ruby环境中script/console无法正常启动的问题过程。通过查找资料和尝试不同的解决方案,最终确定问题源于readline.so文件的缺失,并给出了具体的解决步骤。
[url=http://nishizhen.cn/archives/2007/10/14/214.html]原文,我的blog[/url]

昨天晚上启动script/console

然后提示我:

[code]
/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError)
from /usr/local/lib/ruby/1.8/irb/completion.rb:10
from /usr/local/lib/ruby/1.8/irb/init.rb:252:in `require'
from /usr/local/lib/ruby/1.8/irb/init.rb:252:in `load_modules'
from /usr/local/lib/ruby/1.8/irb/init.rb:250:in `each'
from /usr/local/lib/ruby/1.8/irb/init.rb:250:in `load_modules'
from /usr/local/lib/ruby/1.8/irb/init.rb:21:in `setup'
from /usr/local/lib/ruby/1.8/irb.rb:54:in `start'
from /usr/local/bin/irb:13
[/code]

然后上网查,找到说要安装libncurses5-dev libreadline5-dev

然后安装发现我已经有了这两个库,然后进入ruby的目录发现有个目录i486-linux下面有readline.so

然后又搜到一位[url=http://tw.myblog.yahoo.com/weijenlu/article?mid=40&prev=41&next=39]台湾大哥[/url]:

[quote]
都是升級惹的禍III
分類:Rails
2007/03/26 19:29
OS: fedora core 5
Ruby是1.8.6
Rails 是1.2.3

今天又要開始寫程式了,結果嚇然發現,我的script/console竟然不會動了,升級前都好好的呀。
它秀出錯誤訊息:
/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError)
from /usr/local/lib/ruby/1.8/irb/completion.rb:10
from /usr/local/lib/ruby/1.8/irb/init.rb:252:in `require'
from /usr/local/lib/ruby/1.8/irb/init.rb:252:in `load_modules'
from /usr/local/lib/ruby/1.8/irb/init.rb:250:in `each'
from /usr/local/lib/ruby/1.8/irb/init.rb:250:in `load_modules'
from /usr/local/lib/ruby/1.8/irb/init.rb:21:in `setup'
from /usr/local/lib/ruby/1.8/irb.rb:54:in `start'
from /usr/local/bin/irb:13

還好Google 幫我找到解決方法了,有Google真好。

主要的問題出在readline.so這個檔案,也不知道是那裡的問題,解決方法是下這個指令:
cp /usr/lib/ruby/1.8/i386-linux/readline.so /usr/local/lib/ruby/1.8/i686-linux/readline.so
這樣就解決了,如果看官知道是怎麼回事,請告訴我一下,謝謝。
[/quote]

我发现我和他的问题可能一样,继续搜索,感觉是这样,应该先安装readline然后在编译和安装ruby

找到[url=http://www.carmelyne.com/2007/7/17/compiling-ruby-1-8-6-on-ubuntu]这个[/url]:

[quote]

Compiling Ruby 1.8.6 on Ubuntu

July 17, 2007 @ 09:26 AM | posted by carmelyne
(last updated: 08.09.07)
Lets do this quickly:

Note: This is not for an upgrade.

1. cd /usr/src
2. sudo wget http://rubyforge.org/frs/download.php/18421/ruby-1.8.6.tar.gz
3. sudo tar -xvf ruby-1.8.6.tar.gz
4. cd ruby-1.8.6
5. sudo apt-get install build-essential
6. ./configure
7. make test
8. make
9. sudo make install
10. ruby -v (# == ruby 1.8.6 (2007-03-13 patchlevel 0) [x86_64-linux])
11. irb (# make sure irb works)

Then just do a quick update sweep for ubuntu:

1. apt-get update
2. apt-get dist-upgrade

UPDATE: Getting script/console to work

Error:
/usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require’: no such file to load – readline (LoadError)

Eeek now script/console won't work. So let's fix that. We'll go back to the archive and do the following:

1. cd /usr/src/ruby-1.8.6/ext/readline
2. ruby extconf.rb
3. make
4. sudo make install

Do I need a disclaimer? Hey! I was on my own too when I did this compile. ;p
[/quote]

知道我用源码还是可以重新搞定这个局部升级的问题的~
[root@niit01 ~]# hbase shell Could not load Logmanager "org.jboss.logmanager.LogManager" java.lang.ClassNotFoundException: org.jboss.logmanager.LogManager at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.util.logging.LogManager$1.run(LogManager.java:195) at java.util.logging.LogManager$1.run(LogManager.java:181) at java.security.AccessController.doPrivileged(Native Method) at java.util.logging.LogManager.<clinit>(LogManager.java:181) at java.util.logging.Logger.demandLogger(Logger.java:448) at java.util.logging.Logger.getLogger(Logger.java:502) at com.headius.invokebinder.Binder.<init>(Binder.java:71) at com.headius.invokebinder.Binder.from(Binder.java:162) at com.headius.invokebinder.Binder.from(Binder.java:229) at org.jruby.RubyModule.<clinit>(RubyModule.java:5238) at org.jruby.Ruby.<init>(Ruby.java:320) at org.jruby.Ruby.newInstance(Ruby.java:706) at org.jruby.Main.internalRun(Main.java:273) at org.jruby.Main.run(Main.java:234) at org.jruby.Main.main(Main.java:206) at org.jruby.JarBootstrapMain.main(JarBootstrapMain.java:57) LoadError: load error: irb/completion -- java.lang.NoSuchMethodError: jline.console.completer.CandidateListCompletionHandler.setPrintSpaceAfterFullCompletion(Z)V require at org/jruby/RubyKernel.java:974 require at uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/core_ext/kernel_require.rb:54 <main> at classpath:/jar-bootstrap.rb:42
最新发布
12-06
07-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值