当我转到“运行功能”时,从黄瓜功能文件中我在出现的弹出框中收到以下错误。
我该如何解决这个问题?
/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
答案 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作者的最新大师那里获取它有很长的路要走:
对于此文件中的第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网络地图,找到最近的分支机构,讨论类似于你所遇到的问题。