ruby-on-rails - 本地 gem 的“bundle 安装”没有解决依赖关系,而 'gem install' 可以

标签 ruby-on-rails ruby rubygems bundler

我在目录“/home/enterprise/pkg”中有一个本地 gem (enterprise-0.0.1.gem)。 它依赖于 active_directory gem (v 1.5.5),这是在它的 enterprise.gemspec 文件中指定的,如下所示:-

gem.add_dependency("active_directory")

在我的应用程序的 Gemfile 中,我添加了以下行:-

gem 'enterprise', '0.0.1', path => '/home/enterprise/pkg'

当我做的时候

bundle install

在我的应用程序的源目录中,只安装了企业 gem。因此,我遇到了引用 active_directory gem 的运行时错误。

但是当我这样做的时候

gem install /home/enterprise/pkg/enterprise-0.0.1.gem

依赖关系已解决,我可以在 gem 列表中看到 active_directory gem。

为什么依赖项解析与 bundler 而不是 ruby​​gems 存在差异。

如果我需要提供有关环境的更多信息,请告诉我。 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         = ["example@example.com"]
      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

最佳答案

我遇到了同样的问题,最终删除了 Gemfile.lock 以解决问题。

关于ruby-on-rails - 本地 gem 的“bundle 安装”没有解决依赖关系,而 'gem install' 可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11532611/

相关文章:

ruby - 在 Windows 7 上安装 ruby​​ Devkit 时出现警告

ruby - 将 gems 解包/卡住到非 Rails ruby​​ 应用程序中

Python 相当于 npm 或 ruby​​gems?

ruby-on-rails - rspec 测试未通过。使用动态数据

Rails 项目中未定义 javascript 函数

ruby-on-rails - Rails CanCan 条件哈希不起作用

ruby-on-rails - 无法将图像解析为 URL : to_model delegated to attachment,,但 Rails 5.2 中附件为零

ruby-on-rails - 盲目直通已被弃用

ruby-on-rails - 为 Ruby gem 创建安装生成器

ruby-on-rails - 使用 Rails 的事件记录,是否有另一种方法可以在不引发异常的情况下进行回滚?