【发布时间】:2016-09-18 01:55:28
【问题描述】:
我对bundler的理解是,当你在Gemfile中添加一个Gem时,bundler会在你运行bundle install时自动安装它的所有依赖。
我正在创建一个宝石。在我的 gemspec 中,我指定了以下要求:
spec.add_development_dependency "bundler", "~> 1.7"
spec.add_development_dependency "rake", "~> 10.0"
spec.add_development_dependency "eventmachine", "~> 1.0.4"
spec.add_development_dependency "em-synchrony"
spec.add_development_dependency "rspec"
Bundler 很好地完成了所有安装。当我查看 Gem.lock 时,我注意到以下内容:
...
em-synchrony (1.0.5)
eventmachine (>= 1.0.0.beta.1)
...
注意 em-synchrony 没有 MySQL 依赖项。当我启动 irb 并需要我的 gem 时,我收到以下错误:
> require 'my_gem'
RuntimeError: Missing EM-Synchrony dependency: gem install mysql2
为什么 bundler 没有自动安装 mysql2 gem?
【问题讨论】: