繁体   English   中英

Ruby on Rails:修补并部署Rack

[英]Ruby on Rails: patching Rack and deploying it

我需要使用以下修补程序修补Rack: http : //github.com/rack/rack/commit/dae12e088592ee69545b5f2f81b87f4959859164

最佳做法是什么? 我应该拆开宝石的包装,应用补丁,然后重新包装宝石,并用capistrano运送它,以确保我的宝石版本可以到达目标服务器吗?

我可以将机架弹出到供应商/插件/中并依靠它在系统级gem之前先加载吗?

我想选择阻力最小的方法,并轻松地将其部署到许多环境中。

如果要使用bundler ,可以通过在Gemfile中添加一个选项来从存储库中安装gems:

gem'机架',:git =>'git://github.com/my-account/rack.git'

这使修补和部署修补的gem变得容易得多。 将其分叉到您的帐户,对其进行修补,然后改用该基础。

Rack不是插件,而是宝石,因此如果安装在vendor/plugins ,它可能无法正常工作。

另外,您也可以从本地文件系统(例如vendor/子目录)加载Bundler,而不是指向git存储库:

gem 'rack', :path => File.join(File.dirname(__FILE__), '/vendor/gems/rack')

这使您可以快速调试,而无需git pull / push您的更改。

其他答案似乎需要Bundler / Rails3。由于我使用的是Rails 2.3.10和旧式的Rails config.gem系统,因此它们对我不起作用。

我能找到这个相同的问题工作的解决方案在这里 作者将机架1.2中的固定代码包含在机架1.1猴子修补程序中 ,然后通过初始化程序加载了修补程序文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM