企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## Bundler * <a name="dev-test-gems"></a> 只在开发环境或测试环境下使用的 gem 应进行适当的分组。 <sup>[[link](#dev-test-gems)]</sup> * <a name="only-good-gems"></a> 在项目中只使用广为人知的 gem。如果你考虑引入某些鲜为人所知的 gem,应该先仔细检查一下其源代码。 <sup>[[link](#only-good-gems)]</sup> * <a name="os-specific-gemfile-locks"></a> 关于多个开发者使用不同操作系统的项目,与操作系统有关的 gem 默认情况下会产生经常变动的 `Gemfile.lock`。 在 Gemfile 文件里,所有与 OS X 相关的 gem 放在 `darwin` 群组,而所有与 Linux 有关的 gem 应放在 `linux` 群组: <sup>[[link](#os-specific-gemfile-locks)]</sup> ```Ruby # Gemfile group :darwin do gem 'rb-fsevent' gem 'growl' end group :linux do gem 'rb-inotify' end ``` 要在正确的环境下加载合适的 gem,需添加以下代码至 `config/application.rb` : ```Ruby platform = RUBY_PLATFORM.match(/(linux|darwin)/)[0].to_sym Bundler.require(platform) ``` * <a name="gemfile-lock"></a> 不要把 `Gemfile.lock` 文件从版本控制里移除。这可不是一个随机产生的文件——它的目的是确保你所有的团队成员执行 `bundle install` 时,获得相同版本的 gem 。 <sup>[[link](#gemfile-lock)]</sup>