6

我已经按照https://github.com/wayneeseguin/rvm#installation上的说明通过 RVM 安装了 Ruby 。

有关信息,我有所有档案(readline-5.2.tar.gz、readline-6.2.tar.gz、ruby-1.9.3-p327.tar.bz2、rubygems-1.8.24.tgz、wayneeseguin-rvm-stable。 tgz 和 yaml-0.1.4.tar.gz)在~/.rvm/archives目录中,我不想以任何方式重新下载它们。

当我做:

sudo /usr/bin/apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config

我得到:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libxslt1-dev' instead of 'libxslt-dev'
Note, selecting 'libncurses5-dev' instead of 'ncurses-dev'
libtool is already the newest version.
sqlite3 is already the newest version.
libxslt1-dev is already the newest version.
libc6-dev is already the newest version.
openssl is already the newest version.
git-core is already the newest version.
subversion is already the newest version.
zlib1g is already the newest version.
libncurses5-dev is already the newest version.
curl is already the newest version.
libreadline6 is already the newest version.
libyaml-dev is already the newest version.
autoconf is already the newest version.
pkg-config is already the newest version.
libxml2-dev is already the newest version.
build-essential is already the newest version.
libssl-dev is already the newest version.
libreadline6-dev is already the newest version.
automake is already the newest version.
zlib1g-dev is already the newest version.
bison is already the newest version.
libsqlite3-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

我什至做过:

$ rvm pkg install readline
$ rvm reinstall 1.9.2 --with-readline-dir=$rvm_path/usr

但我仍然得到这个irb

Readline was unable to be required, if you need completion or history install readline then reinstall the ruby. You may follow 'rvm notes' for dependencies and/or read the docs page https://rvm.io/packages/readline/ . Be sure you 'rvm remove X ; rvm install X' to re-compile your ruby with readline support after obtaining the readline libraries.

我已经完成了 4-5 次重新安装过程。

4

4 回答 4

5

关于什么

rvm reinstall 1.9.3

一旦安装了基本依赖项(如构建要素等),您就可以这样做。我遇到了类似的问题,我不得不安装一些依赖项并重新安装 ruby​​ 就可以了。

下面的依赖项列表

sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core \
zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev \
autoconf libc6-dev libncurses5-dev automake libtool bison subversion pkg-config
于 2012-12-20T09:59:35.403 回答
4

考虑到您有 RVM,您应该利用有用的命令rvm requirements,因为这将为您提供为特定环境/操作系统运行所需的命令。

于 2012-12-20T04:49:45.277 回答
2

如果您安装了软件包,那么您的 ruby​​ 很可能安装了 readline 支持rvm requirements

您可以通过运行以下命令来验证是否安装了 readline:

rvm use 1.9.3
find $MY_RUBY_HOME -name readline.so | xargs ldd

根据我在回复中看到的,必须重复正确的流程:

rm -rf $rvm_path/usr/
rvm get head
rvm remove 1.9.3
rvm install 1.9.3 --debug

如果您仍然无法使其正常工作 - 请确保重复上述步骤,不要添加额外的标志或开关,确保清理/etc/rvmrc并清除~/.rvmrc额外的编译标志。如果一切都失败,则提供rvm install 1.9.3 --debug命令的输出。

于 2012-12-20T10:19:27.440 回答
1

您可能只是用老式的 configure / make 方式重建 ruby​​ 可执行文件。不应该花那么长时间。优点是它将利用它找到的依赖项,例如 readline。

于 2012-12-20T04:53:35.643 回答