23

heroku(heroku run console...)でコンソールを実行すると、次のエラーが発生します。アプリケーションは問題なく実行されていますが、これが原因でコンソールを実行できないようで、開発中はこの問題は発生していません。

/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require': cannot load such file -- test/unit/testcase (LoadError)
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `block in require'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:in `load_dependency'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/test_case.rb:1:in `<top (required)>'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `block in require'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:in `load_dependency'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/console/app.rb:2:in `<top (required)>'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `block in require'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:236:in `load_dependency'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.9/lib/active_support/dependencies.rb:251:in `require'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/application.rb:304:in `initialize_console'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/application.rb:152:in `load_console'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:27:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:8:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

これは私のGemfileです:

source 'http://rubygems.org'
ruby '1.9.3'

gem 'rails', '3.2.9'

gem 'oauth', '~> 0.4.4'
gem 'twitter', '~> 1.4.1'
gem 'sendgrid'
gem 'koala'

gem 'therubyracer', '0.10.2'
gem 'execjs'

# Rails 3.1 - Asset Pipeline
gem 'json'

group :assets do
  gem 'sass-rails', "  >= 3.2.3"
  gem 'coffee-rails', ">= 3.2.1"
  gem 'uglifier', '>= 1.0.3'
  gem 'bootstrap-sass'
end

gem 'coffee-script'

gem 'jquery-rails'

gem "fog"
gem 'bootstrap-wysihtml5-rails', '0.3.1.10'

group :production do
  gem "heroku"
  gem 'pg', '0.13'
  gem 'newrelic_rpm'
  gem 'newrelic_api'
end

group :test do
  gem 'email_spec'
  gem "cucumber-rails"
  gem "rspec-rails"
  gem "capybara"
  gem 'culerity'
  gem "selenium-webdriver"
  gem "database_cleaner"
  gem 'factory_girl_rails'
end

group :development, :grades, :test do
  gem "launchy"
  gem "mysql2"
  gem "letter_opener"
  gem "pry"
  gem "rails-erd"
end

gem "airbrake"
gem "authlogic"
gem 'awesome_print'
gem 'cancan'
gem 'dalli'

#gem "oink"
gem 'validates_timeliness', '~> 3.0.2'
gem 'hpricot'
gem "ruby_parser"
gem "prawn_rails"
gem "thin"
gem "nested_form", :git => "git://github.com/ryanb/nested_form.git"
gem "meta_search"
gem "carrierwave"
gem "aws-s3"
gem "mini_magick"
gem 'will_paginate'
gem "spreadsheet"
gem "oauth-plugin", ">= 0.4.0.pre1"
gem 'flash_cookie_session'
gem 'haml-rails'
gem 'squeel'
gem 'rails_best_practices', :group => :development
gem 'simple_form'
gem 'taps', :group => :development
gem 'resque'
gem "audited-activerecord", "~> 3.0"
gem "lograge"
gem 'quiet_assets'
gem 'yajl-ruby', :require => "yajl"
gem 'switch_user'

なぜこのエラーが発生するのかわかりません。何かご意見は?ありがとう

4

7 に答える 7

7

どうやら Heroku は.slugignoreファイルの解釈方法を変更したようです。

私の場合、rpcディレクトリがあり、アプリが依存しているgemの1つのサブディレクトリ.slugignoreが消去され、 . Heroku が意図的にこの変更を行ったかどうかはわかりません。期待どおりに機能しているかどうかに関係なく、影響のある行を から削除すると、問題が解決するはずです。rpc LoadError.slugignore.slugignore

PS これについて、Heroku にサポート チケットを発行しました。

更新: Heroku のサポートにより、.slugignoreより一貫性を持たせるために解析にいくつかの変更が加えられまし.gitignoreたが、意図したとおりに機能しています。最上位ディレクトリのみを削除する正しい方法は、/rpc代わりに置くことです。

于 2012-12-12T10:54:26.603 に答える
7

ファイルを削除testするとうまくいきます。.slugignore

于 2012-12-12T10:03:04.303 に答える
2

.slugignore からテスト ディレクトリを削除すると、問題が修正されました

于 2012-12-12T10:00:57.023 に答える
1

テストディレクトリを削除.slugignore

于 2012-12-12T10:28:06.047 に答える
0

今日もこの問題に遭遇しました。Heroku の Ruby ビルド パックで何かが変更されたに違いないと思います。

私たちにとっては、prototype-rails がロードしようとしてActionView::TestCasetest/unit/testcase. パッチは非常にシンプルで、 fork として入手できます

Bundler を使用している場合は、次のようなものが必要になる場合があります。

gem 'prototype-rails', :git => 'git://github.com/ennova/prototype-rails.git'
于 2012-12-12T05:36:34.490 に答える
-2

マルチスレッドを無効にしようとしました(config.threadsafeをコメントアウトしてください!)。herokuが一緒に行動するまで、それは今のところうまくいくようです。

于 2012-12-11T23:00:16.993 に答える