首页 > 解决方案 > 在本地拥有 ruby​​ gem 但不将其推送到远程的最佳方法是什么

问题描述

我很好奇是否有一些舒适的方法可以在本地使用一些 gem,但不将其推送到公共存储库。例如,假设我正在处理的项目没有在开发中使用 gem 之类better_errors的,但它可能对我非常有用。 我知道我可以将它添加到我的 Gemfile 中,而不是将它包含在提交中,但是我可能会忘记它并在某天推送它。始终牢记这一点可能会令人沮丧。
我只是想知道是否有一些好方法可以将其自动包含在本地副本中并防止推送。

标签: ruby-on-railsrubygit

解决方案


您可以将这样的初始化程序添加到您的 Rails 应用程序中:

# in config/initializers/local_gems.rb
%q[better_errors binding_of_caller].each do |gem|
  require(gem) rescue puts("Gem not installed: #{gem}")
end

但这只会在之前安装 gem 时加载它,这意味着您必须手动安装它并且不能使用 bundler。


推荐阅读