我在目錄'/ home/enterprise/pkg'中有一個本地gem(enterprise-0.0.1.gem)。 它有active_directory寶石(V 1.5.5),這是在其指定的依賴是enterprise.gemspec文件是這樣的: -本地gem的'bundle install'不能解決依賴關係,而'gem install'卻有
gem.add_dependency("active_directory")
在我的應用程序的Gemfile中,我添加以下行: -
gem 'enterprise', '0.0.1', path => '/home/enterprise/pkg'
當我做
捆綁安裝
從我的應用程序的源目錄中,只安裝了企業級gem。因此,我遇到了運行時錯誤,以引用active_directory gem。
但是當我做
創業板安裝/home/enterprise/pkg/enterprise-0.0.1.gem
的依賴性都解決了,我可以看到active_directory寶石寶石名單。
爲什麼在使用捆綁器解析依賴關係時存在差異,而不是使用rubygems。
請讓我知道我是否需要提供有關環境的更多信息。 Ruby:1.9.2, RubyGems:1.8.24, Bundler:1.1.5, rvm:1.9.2。參考
我enterprise.gemspec文件: -
# -*- encoding: utf-8 -*-
require File.expand_path('../lib/enterprise/version', __FILE__)
Gem::Specification.new do |gem|
gem.authors = ["example"]
gem.email = ["[email protected]"]
gem.description = %q{Enterprise Gem: example}
gem.summary = %q{Services: Authentication, Access Control}
gem.homepage = "http://example.com"
gem.files = %w[
README.md
Rakefile
Gemfile
Gemfile.lock
enterprise.gemspec
lib/enterprise.rb
lib/enterprise/auth_service.rb
lib/enterprise/version.rb
]
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
gem.name = "enterprise"
gem.require_paths = ["lib"]
gem.version = Enterprise::VERSION
gem.add_dependency("active_directory")
end
是的,我在我的企業gem的Gemfile中有這些。 你需要我的gemspec文件嗎? – neosab 2012-07-18 23:44:10
不,它似乎沒有安裝帶有:require選項的active_directory gem。它的行爲與以前一樣。只安裝企業級的寶石。 – neosab 2012-07-19 22:55:07
我只是好奇什麼是使用自定義本地寶石的標準做法。每次將應用程序移動到生產服務器時執行[gem install'enterprise'&bundle install]都沒有意義。 – neosab 2012-07-19 22:58:01