我正在开发一个Rails 3项目。在客户端站点,网络非常受限制。网络域将不允许访问rubygems,github等。我必须手动安装大多数东西。这就是我安装不同Ruby版本的方式。我现在安装了RVM,但找不到已安装的Rubies。 RVM告诉我安装我想要设置的Ruby。有没有办法仍然使用RVM,即使我不能使用默认的Ruby安装作为“rvm install ruby-xxx”?
答案 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-p136
或rvm install 1.8.7-p330
,它会将内容提取到~/.rvm/src
并开始配置,编译,安装脚步。如果它发出呜呜声,它可能会要求您先将这些文件解压缩到~/.rvm/src
。然后再次尝试安装命令。基本上我们现在正在玩RVM,所以如果你遇到问题,你应该向开发者寻求帮助。您可以通过rvm -v
收到他的电子邮件。
这就是我与我的一个主机有关的工作方式。
答案 1 :(得分:3)
有两种方法:
禁用rvm:
rvm system
- 禁用rvm ruby rvm alias delete default
- 禁用默认红宝石这应该可以解决问题,但它会禁用默认的rvm ruby,http://rvm.io/rvm/basics/
装载现有的红宝石:
rvm mount /path/to/ruby/bin/ruby
或者:rvm automount
会将现有红宝石添加到rvm,https://github.com/wayneeseguin/rvm/blob/master/help/mount