将已编译的gem复制到其他计算机,避免再次编译

时间:2013-05-23 14:22:41

标签: ruby gem copy rvm

使用RVM,如何在两台不同的计算机之间复制宝石?编译gem,我想避免在目标机器上进行编译。

我尝试复制.rvm/gems/ruby-x.x.x-pxxx@gemset/gems/gem_name目录,以及/ bin和/ cache,但在目标计算机中,我无法在gem list输出中看到gem。

还有什么我需要做的吗?

2 个答案:

答案 0 :(得分:4)

您还必须复制在.rvm/gems/ruby-x.x.x-pxxx@gemset/specifications/gem_name.gemspec中找到的gem规范文件。

请记住,二进制代码无法在目标平台上运行。

答案 1 :(得分:4)

您可以使用gem-compiler中的Luis Lavena

它应该像(用实际的宝石信息替换<gem-*>一样简单):

gem install gem-compiler
gem fetch <gem-name> --platform=ruby
gem compile <gem-name>-<gem-version>.gem

此命令将为您的平台创建*.gem文件,然后可以将其移至另一台计算机并随gem install --local <gem-file>一起安装。

有关详细信息,请查看https://github.com/luislavena/gem-compiler#usage