Tengo una joya local (enterprise-0.0.1.gem) en un directorio '/ home/enterprise/pkg'. Tiene dependencia de la gema active_directory (v 1.5.5), que se especificó en el archivo enterprise.gemspec es la siguiente: -'paquete de instalación' para una joya local no está resolviendo dependencias, mientras que 'gem install' hace
gem.add_dependency("active_directory")
En Gemfile de mi solicitud, añada la línea siguiente: -
gem 'enterprise', '0.0.1', path => '/home/enterprise/pkg'
Cuando hago
paquete instalo
desde el directorio de origen de mi aplicación, solo está instalada la gema de la empresa. Por lo tanto, pulso los errores de tiempo de ejecución para la referencia a la gema de directorio_activo.
Pero cuando lo haga
joya instalación /home/enterprise/pkg/enterprise-0.0.1.gem
las dependencias se resuelven y puedo ver la gema active_directory en la gema lista.
¿Por qué hay una discrepancia en la resolución de dependencia con bundler y no con rubygems?
Amablemente déjenme saber si necesito proporcionar más información sobre el medio ambiente. Ruby: 1.9.2, RubyGems: 1.8.24, Bundler: 1.1.5, rvm: 1.9.2.
Mi archivo enterprise.gemspec como referencia: -
# -*- 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
Sí, tengo estos en el Gemfile de mi gema de empresa. ¿Necesita mi archivo gemspec? – neosab
No, no parece instalar la gema de directorio_activo con la opción: requerir. Se comporta de la misma manera que antes. Solo se instala la gema de la empresa. – neosab
Tengo curiosidad por saber cuál es la práctica estándar para usar una joya local personalizada. Hacer una [instalación de gem 'enterprise' y bundle install] cada vez que muevo mi aplicación a un servidor de producción no tiene sentido. – neosab