我想用我寫的寶石內的打包機。我的Gemfile和my_gem_file.rb我有在我的寶石裏面使用打包機
require 'rubygems'
require 'bundler'
Bundler.setup
Bundler.require(:default)
但是當我建立並安裝我的寶石,我得到異常捆紮機:: GemfileNotFound:找不到的Gemfile。是否有任何解決方案使用寶石內的打包機?
我想用我寫的寶石內的打包機。我的Gemfile和my_gem_file.rb我有在我的寶石裏面使用打包機
require 'rubygems'
require 'bundler'
Bundler.setup
Bundler.require(:default)
但是當我建立並安裝我的寶石,我得到異常捆紮機:: GemfileNotFound:找不到的Gemfile。是否有任何解決方案使用寶石內的打包機?
Bundler不適合依靠寶石來源的寶石管理。在寶石內部,只需要你需要的庫。
由於您的gem在其.gemspec中指定了它的依賴關係,因此您可以假定它們將在運行時可用。不要牽涉Bundler。
但是,您仍然可以使用Bundler來開發您的寶石。如果你使用這個Gemfile:
source :rubygems
gemspec
Bundler會查看你的.gemspec來確定運行bundle install時要安裝哪些gem。你可以在這裏閱讀更多關於:http://jeffkreeftmeijer.com/2010/bundler-because-your-gems-depend-on-gems-too/
我不同意,Bundler是偉大的寶石發展。它有助於更輕鬆地開始和協作。並保持gemspec清潔?
我消除了開發依賴
Gem::Specification.new do |s|
s.add_development_dependency("mocha", ["~>0.9.8"])
當然
保持s.add_dependency("i18n", ["~>0.4.1"])
和其他人,你的寶石依賴。
你可能最終得到一個Gemfile中(如西奧顯示),這樣
source :rubygems
gemspec
group :test do
gem 'rails', '3.0.0'
gem 'mocha'
gem 'rspec-rails', "~>2.0.1"
end
尼斯和清潔,易於閱讀。希望這可以幫助。