我已经克隆了ruby 1.8.7源代码树。我可以构建ruby。但如果不在系统目录中安装它,我就不知道如何运行它。我怎么做?
$ ./ruby -e 'puts RUBY_VERSION' ÃÃ ÃÃ : ÃÃ ÃÃ : cannot open shared object file: No such file or directory - ÃÃ ÃÃ (LoadError)
我也尝试过安装它,但没有安装到系统目录,并且得到了堆栈跟踪:
$ ./configure --prefix=/home/wayne/tmp/ruby/installed --exec-prefix=/home/wayne/tmp/ruby/installed $ make $ make install $ /home/wayne/tmp/ruby/installed/bin/ruby -e 'puts RUBY_VERSION' /home/wayne/tmp/ruby/installed/lib/ruby/1.8/openssl/ssl.rb:26: uninitialized constant OpenSSL::SSL::VERIFY_PEER (NameError) from /home/wayne/tmp/ruby/installed/lib/ruby/1.8/openssl.rb:23:in `require' from /home/wayne/tmp/ruby/installed/lib/ruby/1.8/openssl.rb:23
我有一种感觉,我离得很近,但一次失误等于一英里。
rvm是一个很好的工具。并且应该能够处理在不同ruby版本(甚至是一组Gem)之间切换的繁重工作。
安装是 very easy
$ gem install rvm && rvm-install $ echo "if [[ ! -z $HOME/.rvm ]] ; then source $HOME/.rvm ; fi" >> ~/.bash_profile
然后 install
rvm install ruby-1.8.7-p160
$ rvm 1.8.7-p160 $ ruby -v ruby 1.8.7 (2009-06-12 patchlevel 160) [i686-darwin10.0.0] $ rvm 1.8.7-p174 ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin10.0.0]
chroot 指挥部。创建一个临时目录,将ruby安装到 sbin chroot 进入临时文件夹。根据您正在测试的内容,您可能还必须将一些系统库复制到临时目录树中(在进行测试之前) 改变根目录 中)。
sbin
chroot
改变根目录
rvm 用不同的红宝石测试你的应用程序。