编译Gem时如何避免源被覆盖?

时间:2013-04-30 23:55:44

标签: ruby windows gem 64-bit eventmachine

我正在尝试安装eventmachine Gem,但a line needs to be commented out in the source用于在Windows x64上运行Ruby 2.0。

我尝试在Ruby构建文件夹中修改Gem源,但每次运行gem install eventmachine时都会覆盖我的更改。在命令行帮助下,似乎没有办法在不解压新资源的情况下重建gem,但是可能有一种解决方法。

有没有办法为这个Gem构建我稍微调整过的源?

2 个答案:

答案 0 :(得分:1)

不要像那样安装宝石。而是构建自己的版本并通过指定作为构建过程的一部分生成的.gem文件的路径来安装它。

我发现最简单的方法是创建一个fork,在git中设置fork的Gemfile路径,然后bundle install来处理编译事务并正确安装它们。

答案 1 :(得分:1)

好的,感谢@tadman的帮助。

结束只是从源代码本地安装,而不是调整gem下载的官方源,并防止它被覆盖。这些是确切的步骤......

  • 从Github(或任何地方)本地克隆
  • 对来源进行更改
  • 如果根目录中有.gemspec个文件
    • 在目录中打开终端并输入gem build GEMNAME.gemspec
    • 最后输入gem install GEMNAME-VERSION.gem
  • 如果没有.gemspec但是有一个名为“gem”或“build”的文件或类似的文件,那么您可能需要使用rake according to this reply
  • 进行构建