【问题标题】:Ruby Gem not install dependencyRuby Gem 不安装依赖项
【发布时间】:2014-01-31 17:08:49
【问题描述】:

我创建了一个 Ruby Gem 并发布了它。我尝试下载它,但我不断得到不能需要我的依赖 gem。代码位于https://github.com/wallerjake/toolshed,有问题的 gem 是 httparty。我得到的错误是

~/.rvm/gems/ruby-2.0.0-p353@sullivan_cotter/bundler/gems/toolshed-46404c5af06d/lib/toolshed.rb:2:in `require': 无法加载这样的文件 -- httparty (LoadError )

我已更新我的https://github.com/wallerjake/toolshed/blob/master/toolshed.gemspec 以改用 add_dependency 但这似乎没有帮助。会不会和其他宝石冲突?

【问题讨论】:

    标签: ruby gem


    【解决方案1】:

    rubygems 上的版本仍然是旧版本,只有开发依赖项。当我从 Github 下载并构建你的 gem 时工作正常。

    【讨论】:

      【解决方案2】:

      是的,抱歉,我通过将它们添加为依赖项而不是开发依赖项来解决了这个问题。

      spec.add_dependency "httparty" spec.add_dependency "json" spec.add_dependency "pivotal-tracker"

      【讨论】:

        【解决方案3】:

        你已经指定了开发依赖,但是调用rake形式的二进制,只需将rake gem依赖放入通常的add_dependency,并删除::gem调用:

        bin/toolshed

        require 'rubygems'
        require 'toolshed'
        require 'rake'
        

        又一个问题:你需要二进制文件做什么?

        toolshed.gemspec 似乎是正确的。你怎么称呼它?使用gem uninstall toolshed 删除已安装的gem,包括二进制文件。补丁依赖后确保bundle install,然后调用bundle exec bin/toolshed.rb是正确的。

        然后使用gem build toolshed.gemspec 生成gem,并使用gem install toolshed-0.0.4.gem 安装gem。确保二进制文件有效。然后才发布 gem。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-07-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-09-27
          • 1970-01-01
          • 2016-08-21
          相关资源
          最近更新 更多