我在我的ubyntu 11.10上使用rvm。我的readline无法正常工作,我尝试了ruby extconf.rb
,但未通过。输出如下:
$ 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
我尝试安装libncurses5-dev&中的libreadline5-dev的
$ sudo apt-get install libncurses5-dev libreadline5-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libreadline5-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
libreadline-gplv2-dev:i386 lib64readline-gplv2-dev:i386 libreadline-gplv2-dev
E: Package 'libreadline5-dev' has no installation candidate
这是什么问题?有人可以帮忙吗?
答案 0 :(得分:21)
与Readline errors prevent me running rails console
相同的问题在ubuntu下,您可以使用系统readline安装。
rvm uninstall ${YOURUBYVERSION}
sudo apt-get install libreadline-dev
rvm install ${YOURUBYVERSION} --with-readline-dir=/usr/include/readline
用您想要的红宝石版本替换$ {YOURUBYVERSION}。
答案 1 :(得分:7)
我得到了解决方案:
运行命令
rvm requirements
它显示了需求和依赖关系。安装它们并在rvm上重新安装ruby
rvm remove 1.9.2
rvm install 1.9.2
有效!
答案 2 :(得分:5)
出于某种原因,我无法对@ zzeroo的答案发表评论,但我想提请注意他正在使用
的事实 --with-readline-dir=/usr/include/readline
而不是
--with-readline-dir=$rvm_path/usr
我长时间撞在墙上,改变这个问题为我修好了。
答案 3 :(得分:2)
你试过了吗?
rvm pkg install readline
然后通过RVM --with-readline-dir=$rvm_path/usr
安装ruby?
http://beginrescueend.com/packages/readline/
FWIW,如果你从未考虑过,我建议给rbenv + ruby-build一个去。比使用RVM要少得多。
答案 4 :(得分:2)
我用谷歌搜索了几天,但没有答案可以帮助我,所以我的解决方案是:
完全删除rvm How to remove rvm
删除所有红宝石包。首先,找出你有哪些包:
dpkg -l | grep ruby
然后制作
sudo apt-get purge {PACKAGE}
其中{PACKAGE}
是您要删除的包(对我来说有ruby ruby1.8 ruby1.9.1
)
然后我重新安装了RVM Install RVM并使用
安装了ruby 1.9.2rvm install 1.9.2
现在应该可以了!
答案 5 :(得分:1)
我尝试了一切,但它没有用。我必须做rvm implode(安装完所有要求后)然后rvm install 1.8.7; rvm install 1.9.3 and it wor