The Rails 4 Way -- 读书笔记--Bundle
Bundle
它使用来管理你gem 的依赖关系的。书上原话:Bundler2 is not a technology that is specific to Rails 4, but it is the preferred way to manage your application’s gem dependencies.
Gemfile
它记录了你rails的依赖各个版本,假如想在特定的情景下使用特定的版本以来,那么就把它打组就好了。比如原来都是gem 'rails', '4.0.0'这样的一句一句的,假如你改为了
group :development do
gem 'rspec-rails'
gem 'factory_girl_rails'
end
那么他就表明是在development 下才使用呢。
我们现在所下载的所有gem 都是从http://rubygems.org官网上下载的。加入我们需要从自己的git上面下载,通过修改Gemfile是可以实现的。可以支持下载特定的版本,特定的ref, branch, tag等等。具体用法不再写出,因为我觉得这个不大常用。假如真需要的话在书上的4-5页左右可以详细的查到。by the way , 书是the Rails 4 way 英文原版
有一个还是比较有用的,可以从本地加载gem(假如你有的话),中国有个墙,很多东西我们都还需要翻墙出去看看。。。假如你翻出去下载了一个不错的gem在本地,那么你就可以从本地加载啦。用法很简单,在后面加上一个path变量就好了,具体见下面:
gem 'nokogiri', path: '~/code/nokogiri'
Gemfile.lock
这个是每次你运行bundle install 或者bundle update时bundle自动计算出来的依赖关系存储的地方。bundle只会加载这里面出现的要求的gem
Package
bundle package可以用来打包你现在有的gem,假如你打过包,那么在你当前的rails项目中,再运行bundle install 就会从那个包里install,这个可以在部署时,通过打包自己开发环境中稳定的包,阻止外来的可能不稳定的gem。
运行脚本
bundle exec 脚本名, 可以用来运行脚本。