10

cucumber 機能ファイルから [機能の実行] に移動すると、表示されるポップアップ ボックスに以下のエラーが表示されます。

これを修正するにはどうすればよいですか?


/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:inrequire' from /Users/evolve/Library/Application Support/TextMate/Bundles/Cucumber.tmbundle/Support/lib/cucumber/mate/../ mate.rb:10 from /Users/evolve/Library/Application Support/TextMate/Bundles/Cucumber.tmbundle/Support/lib/cucumber/mate/feature_helper.rb:1: require' from /Users/evolve/Library/Application Support/TextMate/Bundles/Cucumber.tmbundle/Support/lib/cucumber/mate/feature_helper.rb:1 from /tmp/cucumber-906.rb:2:inrequire' from /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 を次のように変更する必要がありました。

require 'rspec'
于 2010-10-14T03:14:12.150 に答える
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がない場合は、「requirespec」の行を必ず変更してください。エラーメッセージがこのことで判読できないのは残念です。

そしてなお!「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 に答える
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 に答える
1

私は同じ問題を抱えていて、次の手順に従って解決しました:

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

20 行目 (またはエラー メッセージに表示されている行) をコメントまたは削除します。

> #require 'spec'
于 2011-03-26T10:59:42.620 に答える
1

Codeape はバンドルをフォークして更新しました。教祖の助けを借りて、私は自分でハックを適用しました。

これを試してください: github.com/codeape/cucumber-tmbundle

user241560 について教えてください。

于 2010-10-13T23:45:51.407 に答える
0

Textmate Cucumber バンドルは現在、メイン ブランチでの開発が遅れているようです。Bundler/Rspec2/Rails3/RVM などの問題が発生すると、人々は問題に対処しているようです。

問題を抱えている他の人は、github ネットワークマップをチェックして、あなたが抱えている問題に似た問題について話している最近のブランチを見つけることをお勧めします。

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

于 2011-01-28T00:46:50.717 に答える