Textmate黄瓜捆绑问题 - “运行功能”产生错误

时间:2010-09-14 00:10:16

标签: ruby cucumber textmatebundles

当我转到“运行功能”时,从黄瓜功能文件中我在出现的弹出框中收到以下错误。

我该如何解决这个问题?


/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in gem_original_require': no such file to load -- /Users/evolve/Projects/i9/Tornelo/.bundle/environment (LoadError) from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in要求来自/ Users / evolve / Library / Application Support / TextMate / Bundles / Cucumber.tmbundle / Support / lib /cucumber/mate/../mate.rb:10来自/ Users / evolve / Library / Application Support / TextMate / Bundles / Cucumber.tmbundle / Support / lib / cucumber / mate / feature_helper.rb:1:in {{1来自/tmp/cucumber-906.rb:2

的'require'

6 个答案:

答案 0 :(得分:6)

我有同样的错误。要修复它,您需要编辑此文件:

/Users/richie/Library/Application Support/TextMate/Pristine Copy/Bundles/Cucumber.tmbundle/Support/lib/cucumber

用以下两行代替第10行:

environment_file = File.join(ENV['TM_PROJECT_DIRECTORY'], bundle_path, "environment")
require "#{enviroment_file}" if File.exists?("#{environment_file}.rb")

这样它只加载文件(如果存在)。

我正在使用RSpec 2.0,因此我还必须修改第23行(现在第24行)的rspec要求:

require 'rspec'

答案 1 :(得分:2)

这种情况发生在我身上,因为我加载了rvm并完成了textmate包下列出的步骤。 现在,当我在textmate中为一个黄瓜特征运行'功能'时,我得到一个错误'.bundle / environment没有这样的文件加载'。 我没有.bundle / environment.rb所以我创建了一个空的,然后运行该功能,但每次都会删除environment.rb文件! (让我非常渴望看到这个问题!) 如果您有任何反馈要添加到您的帖子中,我会非常有兴趣听到它。

由于我发布了这个,我已经重新加载了Textmate黄瓜包,问题已经消失了。 请注意 - 安装说明不正确 - 应该阅读

mkdir -p ~/Library/Application\ Support/TextMate/Bundles/
cd ~/Library/Application\ Support/TextMate/Bundles
rm -rf Cucumber.tmbundle
git clone http://github.com/drnic/cucumber-tmbundle Cucumber.tmbundle
osascript -e 'tell app "TextMate" to reload bundles'

如果是首次安装,则不需要'rm -rf Cucumber.tmbundle'行。 无需编辑文件! 完成后,您将能够从textmate中更新。

答案 2 :(得分:2)

我在使用CMD-R功能时遇到了很多问题,但是从Cucumber作者的最新大师那里获取它有很长的路要走:

  

https://github.com/aslakhellesoy/cucumber-tmbundle/tree/

对于此文件中的第10行:

  

/ Users / richie / Library / Application Support / TextMate / Pristine Copy / Bundles / Cucumber.tmbundle / Support / lib / cucumber / mate.rb

只是评论出来!反正我没有bundle.environment文件。但如上所述,如果您没有Gem,请务必更改'require spec'行。遗憾的是,错误信息在这件事上并不清晰。

仍然!不再有“TM_CUCUMBER_BIN”变量,事实证明我的环境不喜欢“cucumber#{file_name}”,而是“bundle exec cucumber#{file_name}”。 (因为我也安装了正常运行的Rails 2.3.11环境,这就是原因)

  

〜Cucumber.tmbundle /支持/ LIB /黄瓜/伴侣/ runner.rb:

更改第52行:

      @output << %Q{Running: #{full_command = "#{RUBY_BIN} #{command} #{@file.rake_task} #{argv.join(' ')}"} \n}

      @output << %Q{Running: #{full_command = "bundle exec cucumber #{@file.rake_task} #{argv.join(' ')}"} \n}

还有一件事!我有我的功能文件嵌套在各个子目录中,所以它不知道从哪里拉出我的步骤定义,尽管事实上调用了Dir.chdir()。所以我不得不添加

  

TM_CUCUMBER_OPTS = -r my_features_dir --format = html

到TextMate中的Preferences =&gt; Advanced =&gt; ShellVariables设置。

答案 3 :(得分:1)

Codeape分叉并更新了捆绑包。 我在一些大师的帮助下自己应用了一个黑客。

试试这个: github.com/codeape/cucumber-tmbundle

让我知道user241560是怎么回事。

答案 4 :(得分:1)

我遇到了同样的问题并按照以下步骤解决了这个问题:

> mate ~/Library/Application\ Support/TextMate/Bundles/Cucumber.tmbundle/Support/lib/cucumber/mate.rb

评论或删除第20行(或错误消息所示的任何行):

> #require 'spec'

答案 5 :(得分:0)

似乎Textmate Cucumber捆绑目前在主分支的开发方面落后。 人们似乎正在解决问题,即Bundler / Rspec2 / Rails3 / RVM。

其他有问题的人,我建议查看github网络地图,找到最近的分支机构,讨论类似于你所遇到的问题。

https://github.com/aslakhellesoy/cucumber-tmbundle/network