Ruby 如何避免编译Gem时覆盖源代码?
我正在尝试安装Ruby 如何避免编译Gem时覆盖源代码?,ruby,windows,gem,64-bit,eventmachine,Ruby,Windows,Gem,64 Bit,Eventmachine,我正在尝试安装eventmachineGem,但是要想在Windowsx64上的Ruby 2.0上运行它 我曾尝试在Ruby build文件夹中修改Gem源代码,但每次运行Gem install eventmachine时,它都会覆盖我的更改。在命令行帮助中,似乎没有一种方法可以在不解压缩新源代码的情况下重建gem,但是可能有一种解决方法 有没有办法为这个Gem构建我的稍微调整过的源代码?不要那样安装Gem。相反,构建您自己的版本,并通过指定作为构建过程一部分生成的.gem文件的路径来安装该版本
eventmachine
Gem,但是要想在Windowsx64上的Ruby 2.0上运行它
我曾尝试在Ruby build文件夹中修改Gem源代码,但每次运行Gem install eventmachine
时,它都会覆盖我的更改。在命令行帮助中,似乎没有一种方法可以在不解压缩新源代码的情况下重建gem,但是可能有一种解决方法
有没有办法为这个Gem构建我的稍微调整过的源代码?不要那样安装Gem。相反,构建您自己的版本,并通过指定作为构建过程一部分生成的
.gem
文件的路径来安装该版本
我发现最简单的方法是创建一个fork,在你的
Gemfile
中设置fork的git
路径,然后bundle install
,它将负责编译和正确安装这些东西。好的,多亏了@tadman的帮助
最终只是从源代码本地安装,而不是调整由gem
下载的官方源代码并防止其被覆盖。这些是确切的步骤
- 从Github(或任何位置)本地克隆
- 对源代码进行更改
- 如果根目录中有
文件.gempec
- 在目录中打开终端并输入
gem build GEMNAME.gempec
- 最后输入
gem安装GEMNAME-VERSION.gem
- 在目录中打开终端并输入
- 如果没有
但有一个名为“gem”或“build”或类似文件,那么您可能必须使用.gempec
rake
Gemfile
的文件,并将其包含在任意目录中。它包含gem'eventmachine',:git=>'git://github.com/brendanarnold/eventmachine.git“
,然后在该目录中运行gem install eventmachine
,但它似乎仍在下载官方源代码-我做错了什么吗?啊,我没有使用捆绑包
我使用了gem
,这可能会起作用——不过我用了另一种方式,谢谢!是的,我想说的是gem安装
总是从规范源代码中提取,除非你给它一个本地.gem
文件的路径bundle安装
将执行您的Gem文件
中规定的任何操作,包括自定义版本。顺便说一句,源代码编译并安装了Gem,但事实证明它在代码中实际使用时仍然不起作用。如果阅读本文的任何人试图在Windows x64上安装eventmachine
,我发现最终切换到Ruby 1.9.3 32位并从那里开始工作会更容易-eventmachine立即编译,现在我可以运行AppFog客户端。。。