使用已安装Ruby的RVM

时间:2011-02-15 16:07:54

标签: ruby-on-rails ruby rvm

我正在开发一个Rails 3项目。在客户端站点,网络非常受限制。网络域将不允许访问rubygems,github等。我必须手动安装大多数东西。这就是我安装不同Ruby版本的方式。我现在安装了RVM,但找不到已安装的Rubies。 RVM告诉我安装我想要设置的Ruby。有没有办法仍然使用RVM,即使我不能使用默认的Ruby安装作为“rvm install ruby​​-xxx”?

2 个答案:

答案 0 :(得分:4)

可以让RVM管理多个Ruby版本但是你必须给它一些帮助,而且它不能用它没有编译和安装的Rubies来做。

任何Rubies RVM未安装都被认为是“系统”,即使可能有多个。使用rvm system告诉RVM从PATH环境变量的前面删除它的路径信息,让shell进行正常搜索,希望它位于ruby二进制文件上。如果RVM控制之外有多个Rubies,则必须手动调整路径。这是在RVM之外完成的成本。

如果您想让RVM安装和管理Rubies,您可以手动将Ruby分发源tarball文件复制到~/.rvm/archives。这是当前1.8.7和1.9.2所需的文件:

ruby-1.8.7-p330.tar.bz2
ruby-1.9.2-p136.tar.bz2
rubygems-1.3.7.tgz

一旦将它们安装在该文件夹中,您就应该能够将RVM告诉rvm install 1.9.2-p136rvm install 1.8.7-p330,它会将内容提取到~/.rvm/src并开始配置,编译,安装脚步。如果它发出呜呜声,它可能会要求您先将这些文件解压缩到~/.rvm/src。然后再次尝试安装命令。基本上我们现在正在玩RVM,所以如果你遇到问题,你应该向开发者寻求帮助。您可以通过rvm -v收到他的电子邮件。

这就是我与我的一个主机有关的工作方式。

答案 1 :(得分:3)

有两种方法:

  1. 禁用rvm:

    • rvm system - 禁用rvm ruby​​
    • rvm alias delete default - 禁用默认红宝石

    这应该可以解决问题,但它会禁用默认的rvm ruby​​,http://rvm.io/rvm/basics/

  2. 装载现有的红宝石:

    • rvm mount /path/to/ruby/bin/ruby或者:
    • rvm automount

    会将现有红宝石添加到rvm,https://github.com/wayneeseguin/rvm/blob/master/help/mount