我已经通过RVM安装了Ruby作为https://github.com/wayneeseguin/rvm#installation的说明。
有关信息,我有所有档案( 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次重新安装过程。
答案 0 :(得分:4)
考虑到你有RVM,你应该利用有用的命令rvm requirements
,因为这将为你提供为特定环境/操作系统运行所需的命令。
答案 1 :(得分:4)
怎么样?
rvm reinstall 1.9.3
一旦你安装了基本的依赖项,比如build essentials等,你就可以这样做。我有类似的问题,我不得不安装一些依赖项并重新安装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
答案 2 :(得分:2)
如果您安装了rvm requirements
的软件包,那么您的ruby很可能安装了readline支持。
您可以通过运行来验证是否安装了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
命令的输出。
答案 3 :(得分:1)
您可能只是使用旧式的configure / make方式重建ruby可执行文件。它不应该花那么长时间。它的优点是它将利用它找到的依赖关系,例如readline。