对于某些 Rails 应用程序,我希望在部署时有一个安全防护措施来检查我是否将一些 gem 配置为在本地路径中查找。
一点上下文可能有助于理解。
当我处于开发模式时,我想要一个处于“本地模式”的 gem。在我的 Gemfile 中,它是这样配置的:gem 'my_gem', '~> 0.9', :path => './path/to/my_gem'
.
在生产中,我想要这样:gem 'my_gem', '~> 0.9', :git => 'git@git.example.com:my_gem.git'
.
我尝试制作一个 shell 脚本(或函数)来读取 Gemfile.lock 并在 gem 处于“本地模式”时以错误退出。
如果我忘记切换回正确的模式,我的部署脚本可能会使用它来中止。
任何帮助将不胜感激。 谢谢
最佳答案
使用
group :development do
gem 'my_gem_for_development', '~> 0.9', :require => './path/to/my_gem/lib/my_gem.rb' , :path => './path/to/my_gem/lib'
end
group :production do
gem 'my_gem', '~> 0.9', :git => 'git@git.example.com:my_gem.git'
end
关于ruby-on-rails - 使用本地 :path before deploy 检查 gem ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5935156/