2011-11-16 82 views
0

我试图在Ubuntu 11.10安装ree-1.8.7抱怨readline的,但我得到以下几点:RVM安装稀土元素在Ubuntu

$ 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安装中的libreadline5-dev下根

由于包已不再可用,所以无法工作,所以我终于找到了使用rvm包中的libreadline的方法。所以我安装它,并重新运行安装:

$ rvm pkg install readline 
$ rvm install ree-1.8.7 -C --with-readline-dir=$rvm_path/usr 

即使我跑rvm remove ree事先我仍然得到同样的错误。

我被卡住了,我该怎么办?

更新:我仍然卡住,但我发现了一些可能对其他类似问题有用的东西,即使它不适合我。从RVM REE page

注:在任何操作系统上,如果安装REE的失败,输出文件报告失踪的readline-devel的,zlib的-devel和OpenSSL的-devel的标题,你一定表明您已经阅读包安装说明 - 否则您肯定会在必要的位置安装必要的软件包 - 请检查您的PATH环境变量以确保类似“/ usr/lib”的内容不存在。有关更多信息,请参阅此REE issue。如果你不想改变你的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/[email protected]/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

+0

如果安装'libreadline6-dev'(确实存在)软件包而不是所提及的'libreadline5-dev'软件包会发生什么? – Mike

+0

@Mike我会尝试,尽管我安装了建议的libreadline-gplv2-dev,但它不起作用。 – mbillard

+0

@Mike:我安装了'libreadline6-dev',删除了以前的'ree'文件,然后再次尝试安装。它似乎试图对图书馆做些什么,但它仍然失败。 – mbillard

回答

0

我终于得到了它的工作运行这行:

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是必要的,但也许,它是值得一试,如果你遇到了麻烦。