首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在ubuntu上使用rvm安装ruby 1.9.3

在ubuntu上使用rvm安装ruby 1.9.3
EN

Stack Overflow用户
提问于 2012-01-19 11:07:53
回答 3查看 16.4K关注 0票数 18

可能重复:

Ruby 1.9.2 and Rails 3 cannot open rails console

我已经安装了rvm和ruby 1.9.2,它们都工作正常。使用rvm版本1.10.2。我之前安装了rvm包readline/zlib,但是现在我用readline遇到了很大的麻烦。我试图在rvm中安装ruby 1.9.3,但我总是以找不到readline而告终。

我试着遵循不同的解决方案:

 rvm remove 1.9.3
 rvm pkg install readline
 rvm install 1.9.3 --with-readline-dir=$rvm_path/usr/ \
     --with-zlib-dir=$rvm_path/usr/

 rvm use 1.9.3
 rvmsudo gem install bundler
 bundle install (all gems installed fine)
 rails c / rails s 
 .rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/irb/completion.rb:9:in `require': \
     cannot load such file -- readline (LoadError)

我已经安装了libreadline-dev (版本6,当前版本)(这些包几乎需要的所有东西)

我还尝试了以下几种方法:

.rvm/src/ruby-1.9.3-p0/ext/readline]$ 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

.rvm/src/ruby-1.9.3-p0/ext/readline]$ ruby extconf.rb \
    --with-readline-dir=/home/claudiocontin/.rvm/usr/
 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/src/ruby-1.9.3-p0/ext/readline]$ ruby extconf.rb \
    --with-readline-lib=/home/claudiocontin/.rvm/usr/
 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

Makefile当然不会生成...

 apt-get install libreadline-dev
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 libreadline-dev is already the newest version.

想法?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-01-20 03:46:22

我最终要做的是删除rvm usr/lib/ path中的所有libreadline。

安装了手动下载的libreadline5-dev包(这里是.deb),因为新的ubuntu发行版只有libreadline6-dev作为候选。

转到rvm ruby 1.9.3 src并:

ruby extconf.rb --with-editline-dir=/usr/ --with-readline-dir=/usr/
make
sudo make install

现在的效果就像一个护身符。

非常痛苦的事情:)

编辑:

还请记住,readline现在也使用libeditline-dev,您可以在配置ruby readline时手动禁用,传递:-- disable -libedit

 ruby extconf --disable-libedit
票数 12
EN

Stack Overflow用户

发布于 2012-01-23 23:06:50

我试着做rvm pkg readline,安装ubuntu pkgs等等,但都没有成功。对我起作用的是:

gem install rb-readline

并将以下行添加到Gemfile中:

gem 'rb-readline'
票数 46
EN

Stack Overflow用户

发布于 2012-01-19 11:26:25

我总是发现让RVM很好地处理包有点像巫毒。很多时候,它是关于捕获依赖的--我把我过去幸运的脚本放在一起,试试这个:

sudo apt-get install zlib1g-dev libssl-dev libsqlite3-dev libmysqlclient-dev imagemagick librmagick-ruby libxml2-dev libxslt1-dev build-essential openssl libreadline6 libreadline6-dev zlib1g libyaml-dev libsqlite3-0 sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison libpq-dev libpq5 libmysql-ruby libmysqlclient-dev

rvm pkg install autoconf
rvm pkg install zlib
rvm pkg install readline
rvm pkg install openssl
rvm pkg install iconv
rvm install 1.9.3
rvm use 1.9.3 --default
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8920574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档