【问题标题】:Could not find rake-0.9.2 in any of the sources在任何来源中都找不到 rake-0.9.2
【发布时间】:2011-11-28 02:26:24
【问题描述】:

我不知道为什么会得到这个?

$ which rake
/Users/kamilski81/.rvm/gems/ruby-1.9.2-p290@depot/bin/rake
[~/Sites/work/depot, kamilski81@mac]
$ /Users/kamilski81/.rvm/gems/ruby-1.9.2-p290\@depot/bin/rake test
Could not find rake-0.9.2 in any of the sources
Run `bundle install` to install missing gems.

执行“捆绑安装”后,我得到:

Installing sqlite3 (1.3.4) with native extensions 
Installing turn (0.8.2) 
Installing uglifier (1.0.3) 
Updating .gem files in vendor/cache
Your bundle is complete! It was installed into ./rake

并且我所有的 gem 都安装到我的根目录的 ./rake 中...很烦人。

【问题讨论】:

    标签: ruby rake bundler


    【解决方案1】:

    您似乎在某个时候输入了bundle install rake

    bundle 命令不使用要安装的 gem 的名称。相反,参数“rake”是您将捆绑的 gem 安装到的文件夹的名称。

    如果您查看当前项目文件夹,您将看到一个隐藏的 .bundle 目录。那里的配置文件跟踪您如何设置捆绑安装选项,并记住您为下次运行捆绑安装设置的目录。最简单的做法是从该配置文件中删除该选项,然后在没有第三个参数的情况下重新运行 bundle install

    这个问题的第二部分是不同的bundle会安装他们自己版本的命令,比如rake。为了运行正确的版本,请让 bundler 通过运行 bundle exec rake 而不仅仅是 rake 为您运行它。

    【讨论】:

      【解决方案2】:

      为我补充:

      source 'https://rubygems.org'
      

      到我的 Gemfile 解决了这个问题。出于某种原因,我之前删除了它。感谢 Andrew 最初使用 .bundle 目录提供的提示。

      【讨论】:

      • 这为我解决了问题。我知道我没有从我的 Gemfile 中删除它。我正在安装画布 LMS。
      【解决方案3】:

      添加一次--development 参数以安装来自 ruby​​gems.org 的所有开发依赖项。

      所以如果你想跑步:

      bundle exec rake build
      

      改为运行:

      bundle --development exec rake build
      

      您将看到正在安装的任何缺少的开发依赖项,包括 rake 0.9.2

      此后,--development 参数可以在重建时删除。

      请注意,此方法还意味着您不需要source http://rubygems.org 添加到您编写的每个 gem。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-11
        • 1970-01-01
        • 2013-12-25
        • 2017-07-18
        • 2012-07-22
        • 2019-12-17
        • 2012-12-19
        相关资源
        最近更新 更多