Installation RVM-有没有一种简单的离线安装方法?

Installation RVM-有没有一种简单的离线安装方法?,installation,rvm,offline,Installation,Rvm,Offline,我想在脱机机器上安装RVM-我可以手动传输所需的任何文件,但不可能有internet连接。当尝试下载ruby或其他依赖项(zlib等)的源文件时,不在线会导致RVM崩溃 我正在寻找一种方法将RVM指向ruby源文件夹的位置,例如RVM安装1.8.7--source=/path/to/ruby-1.8.7-p330/,或任何其他依赖项。我已经搜索了rvm文档,但要么遗漏了什么,要么不在那里。关于如何完成此安装的任何其他建议也欢迎。谢谢。当rvm下载ruby版本时,它会将其保存到.rvm/archi

我想在脱机机器上安装RVM-我可以手动传输所需的任何文件,但不可能有internet连接。当尝试下载ruby或其他依赖项(zlib等)的源文件时,不在线会导致RVM崩溃


我正在寻找一种方法将RVM指向ruby源文件夹的位置,例如
RVM安装1.8.7--source=/path/to/ruby-1.8.7-p330/
,或任何其他依赖项。我已经搜索了rvm文档,但要么遗漏了什么,要么不在那里。关于如何完成此安装的任何其他建议也欢迎。谢谢。

当rvm下载ruby版本时,它会将其保存到.rvm/archives。因此,您可以将ruby的.tar.bz2源代码放到该目录中,rvm将使用它,而不是尝试下载它:

cp ruby-1.8.7-p330.tar.bz2 ~/.rvm/archives/
rvm install ruby-1.8.7
设置第二台具有相同用户帐户的计算机(源代码),并使用该计算机安装RVM,安装Ruby和所有您需要的Gems

然后,在安装完所有需要的东西后,使用rsync将完整的~/.rvm目录从源计算机复制到脱机计算机。rsync是你的朋友

如果脱机机器上没有internet连接,请使用闪存驱动器,将所有带有“cp-rp”的内容复制到闪存驱动器上,然后复制到脱机机器上

注意:两台机器上的用户帐户名称必须相同


如果您不使用相同的用户名,您将在稍后遇到一些奇怪的错误消息。。。RVM存储安装gem或ruby版本的完整路径——它不使用$HOME变量。如果您在所有计算机上使用相同的用户帐户进行部署,您将不会看到这些错误。

也许这不是最简单的,但RVM提供了脱机安装文档:-它还包括如何脱机部署应用程序的信息。

也需要帮助,我太穷了,无法发表评论

上述解决方案都不起作用。RVM离线文档根本没有帮助。无论我做什么,它都希望从源代码安装,这是没有帮助的

如何提示或强制RVM使用全局归档目录

也许问题是:一旦ruby树就位,如何告诉RVM它在那里并且可以使用

找到了答案。

按照rvm站点的建议,将二进制文件放入归档目录,然后
mount
it.:

cp rvm-binary-2.x.x-pyyy.tar.bz2 /usr/local/rvm/archives/ # or whichever
rvm mount -r /usr/local/rvm/archives/rvm-binary-2.x.x-pyyy.tar.bz2
现在您可能会得到如下输出:

/usr/local/rvm/archives/bin-ruby-2.0.0-p598.tar.bz2 - #configure
ruby-2.0.0-p598 - #download
ruby-2.0.0-p598 - #validate archive
ruby-2.0.0-p598 - #extract
ruby-2.0.0-p598 - #validate binary
Libraries missing for ruby-2.0.0-p598: libyaml-0.so.2. Refer to your system manual for installing libraries
表明你在正确的轨道上。安装yaml后,我重新执行
rvm mount-r
op并获得:

/usr/local/rvm/archives/bin-ruby-2.0.0-p598.tar.bz2 - #configure
ruby-2.0.0-p598 - #download
ruby-2.0.0-p598 - #validate archive
ruby-2.0.0-p598 - #extract
ruby-2.0.0-p598 - #validate binary
ruby-2.0.0-p598 - #setup
ruby-2.0.0-p598 - #gemset created /usr/local/rvm/gems/ruby-2.0.0-p598@global
ruby-2.0.0-p598 - #importing gemset /usr/local/rvm/gemsets/global.gems..............................
ruby-2.0.0-p598 - #generating global wrappers........
ruby-2.0.0-p598 - #gemset created /usr/local/rvm/gems/ruby-2.0.0-p598
ruby-2.0.0-p598 - #importing gemsetfile /usr/local/rvm/gemsets/default.gems evaluated to empty gem list
ruby-2.0.0-p598 - #generating default wrappers........
在此之后,我验证: rvm使用2.0.0-p598


而且我们很乐意去做。

RVM离线安装不是问题;我对通过RVM从任意源代码树(如OP中提到的
--source
选项)进行的实际Ruby安装感兴趣。该页面中提到的tarballs技术几乎就在这里,但是对整个源代码树进行tarring的过程有些乏味。不过,一旦时间允许,我会奖励赏金,因为我认为不会有更好的解决办法。嗨,@rthbund。我也有类似的问题。我将ruby归档文件放入rvm归档目录。并在文件名前添加“bin-”将其重命名。在我的例子中:ruby-2.0.0-p247.tar.bz2->bin-ruby-2.0.0-p247.tar.bz2 P.S.:我正在使用系统范围内安装的rvm 1.23.9(因此,我的案例归档目录在这里/usr/local/rvm/archives)