如何更新ruby gem依赖?我必须重建它吗?怎么样?

时间:2014-07-23 06:43:17

标签: ruby rspec gem

我已经在本地安装了一个gem,我想在其中添加一个新的依赖项。我使用以下步骤:

  1. 打开gem安装文件夹,如下所示:
    /usr/local/rvm/gems/ruby-2.1.0/gems/nesta-0.10.0
  2. 将以下新依赖项添加到gemspec文件(nesta.gemspec)中 s.add_dependency('stacktracer', '>= 0.0.1')
  3. gem 'stacktracer'附加到Gemfile
  4. require "stacktracer"添加到Rakefile
  5. 运行命令bundle update nesta
  6. 运行命令bundle install
  7. 检查Gemfile.lock,我已经找到了新的依赖关系,如下所示:
  8. 我有下一个依赖项:

    DEPENDENCIES
    debugger
    mr-sparkle (>= 0.0.2)
    nesta!
    rack-test (= 0.6.1)
    rspec (~> 2.14.0)
    **stacktracer**
    test-unit (= 1.2.3)
    webrat (~> 0.7.3)
    

    但是当我在这里遇到两个问题时:

    1. 运行命令gem dependency nesta,我没有找到stacktracer依赖列表。
    2. 我将require "stacktracer"添加到app.rb,然后运行该应用程序,由于以下错误而失败:

      /usr/local/rvm/gems/ruby-2.1.0/gems/nesta-0.10.0/lib/nesta/app.rb:4:in `require': cannot load such file -- stacktracer (LoadError)
      
    3. 有人能帮我解决问题吗?是否有任何方法可以成功更新gem依赖?

1 个答案:

答案 0 :(得分:0)

您不应该在.../rvm/gems/ruby-2.1.0/gems下编辑解压缩的宝石。如果您需要更新外星人宝石,您将遵循这种方法:

  1. github
  2. 分叉宝石来源
  3. 将回购克隆克隆到您的本地驱动器
  4. 更新您想要的内容+更新版本
  5. Gemfile中的相关性设置为使用解压缩版本或您的 git:
    • gem 'nesta', :path => '.../nesta.git'
    • gem 'nesta', :git => 'git://...'
  6. 不要忘记消除系统中原始的宝石存在。希望能帮助到你。