我试图在Ubuntu 11.10上安装ree-1.8.7
,但我得到以下内容:
$ rvm install ree-1.8.7
$ ...
$ ERROR: Error running './installer -a $HOME/.rvm/rubies/ree-1.8.7-2011.03 --dont-install-useful-gems -c --with-readline-dir=$HOME/.rvm/usr', please read $HOME/.rvm/log/ree-1.8.7-2011.03/install.log
$ ERROR: There has been an error while trying to run the ree installer. Halting installation.
如果我按建议检查install.log
文件,它说:
- GNU Readline开发头文件没有找到…请运行apt-get install libreadline5-dev as root
这不起作用,因为包不再可用,所以我终于找到了从rvm包使用libreadline
的方法。所以我安装它并再次运行install:
$ rvm pkg install readline
$ rvm install ree-1.8.7 -C --with-readline-dir=$rvm_path/usr
我仍然得到相同的错误,即使我运行rvm remove ree
事先。
更新:我仍然卡住了,但我发现了一些可能对其他有类似问题的人有用的东西,尽管它不适合我。从RVM REE页面:
注意:在任何操作系统上,如果REE安装失败,并且输出文件报告缺少readline-devel, zlib-devel和openssl-devel头文件,并且你确信你已经阅读了包的安装说明-或者你确信你已经在已知位置安装了必要的包-检查你的PATH环境变量以确保像"/usr/lib"这样的东西不存在。有关更多信息,请参阅REE问题。如果你不想改变你的PATH变量,那么这个补丁修复了REE 2010.02
的问题。
我检查了我的路径,所有包含/usr/lib
的都是/usr/lib/lightdm/lightdm
。我的完整$PATH是:bash: /home/michel/.rvm/gems/ruby-1.9.3-p0/bin:/home/michel/.rvm/gems/ruby-1.9.3-p0@global/bin:/home/michel/.rvm/rubies/ruby-1.9.3-p0/bin:/home/michel/.rvm/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: No such file or directory
.
我最终通过运行这一行使它工作:
rvm install ree --with-readline-dir=$rvm_path/usr --with-iconv-dir=$rvm_path/usr --with-zlib-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr
只运行rvm install ree --with-readline-dir=$rvm_path/usr
不起作用,所以也许它们都需要同时运行。
注意,在成功执行之前,我运行了以下命令:
rvm head update; rvm reload;
# remove any file from previous failed installations
rvm remove ree
# as suggested in a comment on the question
sudo apt-get install libreadline6-dev
我不确定libreadline6-dev
是否必要,但也许,如果你遇到麻烦,值得一试。