我對bundler的理解是,當您向Gemfile添加Gem時,當您運行bundle install
時,bundler會自動安裝其所有依賴項。爲什麼bundler沒有安裝依賴關係?
我正在創建一個寶石。在我的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)
...
注意沒有用於時間同步的MySQL依賴關係。當我啓動IRB,我需要我的寶石,我得到以下錯誤:
> require 'my_gem'
RuntimeError: Missing EM-Synchrony dependency: gem install mysql2
爲什麼不捆綁自動安裝mysql2寶石?