10

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

我该如何解决?


/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:ingem_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:inrequire' from /Users/evolve/Library/Application Support/TextMate/Bundles/Cucumber.tmbundle/Support/lib/cucumber/mate/feature_helper.rb:1 from /tmp/cucumber-906.rb:2:in来自 /tmp/cucumber-906.rb :2

4

6 回答 6

6

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

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

将第 10 行替换为以下 2 行:

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'
于 2010-10-14T03:14:12.150 回答
2

自从我加载了 rvm 并完成了 textmate 的包下列出的步骤以来,这种情况就发生在我身上。现在,当我从 textmate 中为黄瓜功能“运行功能”时,我收到一个错误“.bundle/environment no such file to load”。我没有 .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 中进行更新。

于 2010-10-13T09:51:55.193 回答
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/Support/lib/cucumber/mate/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=>Advanced=>ShellVariables 设置。

于 2011-02-15T23:22:42.623 回答
1

Codeape 已经分叉并更新了这个包。在一些大师的帮助下,我自己应用了一个 hack。

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

让我知道 user241560 的进展情况。

于 2010-10-13T23:45:51.407 回答
1

我遇到了同样的问题并通过以下步骤解决了它:

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

注释或删除第 20 行(或错误消息所说的任何行):

> #require 'spec'
于 2011-03-26T10:59:42.620 回答
0

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

其他有问题的人,我建议检查 github 网络地图并找到最近的分支,这些分支谈论的问题与您遇到的问题相似。

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

于 2011-01-28T00:46:50.717 回答