ruby-on-rails - 在本地拥有 ruby gem 但不将其推送到远程的最佳方法是什么
问题描述
我很好奇是否有一些舒适的方法可以在本地使用一些 gem,但不将其推送到公共存储库。例如,假设我正在处理的项目没有在开发中使用 gem 之类better_errors
的,但它可能对我非常有用。
我知道我可以将它添加到我的 Gemfile 中,而不是将它包含在提交中,但是我可能会忘记它并在某天推送它。始终牢记这一点可能会令人沮丧。
我只是想知道是否有一些好方法可以将其自动包含在本地副本中并防止推送。
解决方案
您可以将这样的初始化程序添加到您的 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。
推荐阅读
- python - 所有可能的矩阵组合
- django - 如何将域转发到 Django 网站?
- elasticsearch - 存储在字段中的数组的分页 - Elasticsearch
- python - 数组中的峰值检测 - numpy 维度的问题
- python - 在 Python 中对数组进行就地分区
- node.js - 无法对“FormData”执行“附加”:参数 2 不是“Blob”类型。角 12
- jasperserver - 如何在 jasper 中使用自定义角色
- javascript - 如何解决 JavaScript 舍入问题?
- php - 文件上传 PHP 在我的机器上工作正常,但对其他人来说,移动上传似乎无法正常工作,它是一个 wordpress 网站
- reactjs - 仅在以特定方式访问时在路由中显示反应组件