我正在使用chruby进行版本管理,并在Ruby 1.8.7中克隆了一个不幸的项目。是否可以安装带有chruby的Ruby 1.8.7?我无法为此过程找到资源。
答案 0 :(得分:3)
你不能,至少不能使用ruby-install。 Ruby 1.8.7是end-of-life,Postmodern的ruby-install工具已经删除了对它的支持。
控制台错误消息可能因安装的库和编译器而异,但未修改的Ruby 1.8.7不太可能在更新的系统上编译。例如,在Ubuntu 13.10上:
$ ruby-install ruby 1.8.7
[lots of output elided]
math.c:37:13: error: missing binary operator before token "("
#elif define(ERANGE)
^
make: *** [math.o] Error 1
!!! Compiling ruby 1.8.7 failed!
2013年12月9日Postmodern放弃了对Ruby 1.8.7的支持。提交f013ed2解释:
commit f013ed2476ecce82ea41ff63de413daf2231b82b
Author: Postmodern <postmodern.mod3@gmail.com>
Date: Mon Dec 9 16:09:30 2013 -0800
Drop support for Ruby 1.8.x since it has reached End-of-Life.
* CVE-2013-4164 affects Ruby 1.8.x and there is no official patch.
Enabling users to install and run 1.8.x at this point is irresponsible.
您的替代方案包括:
答案 1 :(得分:3)
我们确实删除了version 0.4.0中的所有变通补丁和1.8.x特定代码。但是,如果您在较旧的系统上安装ruby 1.8.7(使用旧版本的GCC,openssl等), 仍应编译。 1.8.7 不会在使用较新版本的GCC,openssl等的较新系统上进行编译。如果您确实需要安装1.8.7,则可以尝试将RVM's 1.8.7 patches应用于{{1 }} 选项;虽然运行严重修补的红宝石是有风险的。此外,RedHat和Debian仍在为其企业用户维护ruby 1.8.7软件包。
答案 2 :(得分:1)
答案 3 :(得分:0)
解决方法是使用apt-get
安装rubyapt-get install ruby
接下来告诉chruby使用系统ruby。
chruby system
对于持久性,将其添加到ruby版本文件
echo 'system' > .ruby-version
答案 4 :(得分:0)
不幸的是chruby
不再支持1.8.7。我已经设法通过使用rvm安装1.8.7并将其链接到~/.rubies
来使其工作/运行,如下所示:
\curl -sSL https://get.rvm.io | bash
rvm install 1.8.7-head
ln -s ~/.rvm/rubies/ruby-1.8.7-head ~/.rubies/ruby-1.8.7
答案 5 :(得分:0)
如果您使用的是OS X(10.11,El Capitan),则可以使用ruby-build以chruby能够使用它的方式安装Ruby 1.8.7:
brew install ruby-build
brew install openssl libyaml libffi
brew install apple-gcc42
brew install openssl098
mkdir -p ~/.rubies
brew link openssl098 --force
ruby-build 1.8.7-p375 ~/.rubies/ruby-1.8.7
brew unlink openssl098
chruby 1.8.7