【问题标题】:rails s: Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)rails s:在任何源中都找不到 rake-10.4.2 (Bundler::GemNotFound)
【发布时间】:2015-03-08 20:51:55
【问题描述】:

当我启动 rails 时:

$ rails s

我明白了:

/Users/snowcrash/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.3.5/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)

所以,我跑了bundle install

$ bundle install
Using rake 10.4.2

gem list rake 给出:

*** LOCAL GEMS ***

rake (10.1.0, 10.0.4)

我怎么没有安装rake 10.4.2

另外,当我运行 bundle check 时,它会告诉我:

The Gemfile's dependencies are satisfied

这似乎不正确。为什么?

==== 更新

我通过以下方式解决了rake 的问题:

gem install rake

但为什么我必须手动安装它?我以为那是 Bundler 的工作。

尝试再次启动 rails 给了我另一个问题:

Could not find multi_json-1.10.1 in any of the sources (Bundler::GemNotFound)

显然这里存在一些潜在的问题。有什么建议吗?

【问题讨论】:

    标签: gem rake rvm


    【解决方案1】:

    我在 ruby​​ 2.2.0 安装中使用 rbenv 时遇到了这个问题。通过反复试验修复。

    我尝试过gem install rake,但这并没有解决问题。 所以我做了:

    gem uninstall rake
    rbenv global 2.1.1
    rbenv rehash
    rbenv uninstall rake #this time gives error "rake is a default gem"
    rbenv global 2.2.0
    rbenv rehash
    gem install rake
    rails s #works this time
    

    我的期望是 PATH 或类似的某处可能存在冲突,但已通过完全删除解决

    我之前遇到过 multi_json 的错误。通过手动安装修复它gem install multi_json

    【讨论】:

      【解决方案2】:

      我认为您的 gem 与项目捆绑在一起(在项目 .bundle/config 中定义的 BUNDLED_PATH)。

      如果你需要运行捆绑版本的rails服务器,你必须输入控制台

      bundle exec rails s
      

      或者,您也可以通过

      生成捆绑的 gem commad 的 bin 存根
      bundle --binstubs
      

      并运行生成的存根

      bin/rails s
      

      【讨论】:

        【解决方案3】:

        我只需要更正enable 脚本。

        cd /opt/rh/ruby-22
        rpm -q -f enable
        rh-ruby22-runtime-2.0-6.el6.x86_64
        diff enable~ enable
        1c1
        < export PATH=/opt/rh/rh-ruby22/root/usr/bin${PATH:+:${PATH}}
        ---
        > export PATH=/opt/rh/ruby/root/usr/local/bin/:/opt/rh/rh-ruby22/root/usr/bin${PATH:+:${PATH}}
        scl enable rh-ruby22 bash
        

        http://www.softwarecollections.org/

        【讨论】:

          【解决方案4】:
          cd /usr/share/metasploit-framework/
          

          然后使用以下命令

          bundle install
          

          【讨论】:

            猜你喜欢
            • 2015-03-04
            • 1970-01-01
            • 2018-04-08
            • 2012-04-19
            • 2014-07-11
            • 2019-11-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多