首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"bundle exec rake“找不到bundle中的rake

"bundle exec rake“找不到bundle中的rake
EN

Stack Overflow用户
提问于 2014-07-03 05:28:54
回答 1查看 2.3K关注 0票数 0

我有一个想要在命令提示符下运行的文件。我可以直接这样做,也可以从irb中这样做,但当我尝试通过Cucumber运行完全相同的文件时,它在gemfile中找不到rake。

我的Cuke有点像这样开始:

代码语言:javascript
复制
Scenario: The aliens have landed
    Given everything is set up right
    ...

匹配的步骤定义调用命令提示符并执行文件。

代码语言:javascript
复制
Given /^everything is set up right$/ do
  system('C:\svn\browser\apps\xyzstuff\lib\proof_of_concept.bat')
end

下面是proof_of_concept.bat的内容

代码语言:javascript
复制
set curr_dir=%cd%
chdir /D C:\svn\browser\spec\integration\xyz\forms
bundle exec rake spec:integration:xyz:forms:single_order_flow MY_ENV=vdev
chdir /D %curr_dir%

这是我在运行Cuke时在控制台中看到的内容:

代码语言:javascript
复制
C:\svn\browser\spec\integration\xyz\forms>bundle exec rake spec:integration:xyz:forms:single_order_flow MY_ENV=vdev
C:/bundler-ruby/lib/ruby/gems/1.8/gems/bundler-1.0.15/lib/bundler/rubygems_integration.rb:143:in `gem': rake is not part of the bundle. Add it to Gemfile. (Gem::LoadError)
        from C:/bundler-ruby/lib/ruby/gems/1.8/bin/rake:18

我认为,当前工作目录在任何情况下都是相同的,因为它是由批处理文件控制的。为什么bundler在这种情况下没有找到rake,但是当这个相同的文件直接或通过irb执行时,它却找到了它?

EN

回答 1

Stack Overflow用户

发布于 2014-07-04 06:01:49

我通过向C:\svn\browser\Gemfile添加gem 'rake', '0.8.7'解决了这个问题

这样做之后,我就不会再遇到上述问题了。但是,我现在已经在this SO question.中描述了这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24541331

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档