[英]rake gems:install failing in rails 2 app for mystifying reasons
我正在嘗試在本地開發環境中運行Rails 2.3.12項目,但是似乎無法安裝所需的gem。 這是我正在使用的ruby / rails版本:
$ rvm list
rvm rubies
...
=> ruby-1.8.7-p371 [ i686 ]
...
$ rails -v
Rails 2.3.12
這一切似乎都是有秩序的。 但是,當我嘗試安裝所需的gem時,會收到以下響應:
$ rake _0.9.2_ gems:install --trace
** Invoke gems:install (first_time)
** Invoke gems:base (first_time)
** Execute gems:base
** Invoke environment (first_time)
** Execute environment
rake aborted!
uninitialized constant Encoding
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:469:in `load_missing_constant'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:106:in `const_missing'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:118:in `const_missing'
/Users/me/sites/myproject/config/environment.rb:2
/Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require'
/Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:182:in `require'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:547:in `new_constants_in'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:182:in `require'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rails-2.3.12/lib/tasks/misc.rake:4
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:205:in `call'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:205:in `execute'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:200:in `each'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:158:in `invoke_with_call_chain'
/Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rails-2.3.12/lib/tasks/gems.rake:17
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:205:in `call'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:205:in `execute'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:200:in `each'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:158:in `invoke_with_call_chain'
/Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:176:in `invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:174:in `each'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:174:in `invoke_prerequisites'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:157:in `invoke_with_call_chain'
/Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:90:in `each'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:62:in `run'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rake-0.9.2/bin/rake:32
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/bin/rake:19:in `load'
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/bin/rake:19
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/bin/ruby_noexec_wrapper:14
Tasks: TOP => environment
由於在跟蹤中提到了config / environment.rb,因此我也將其包括在這里:
# Be sure to restart your server when you modify this file
Encoding.default_external = Encoding::UTF_8
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.12' unless defined? RAILS_GEM_VERSION
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
Rails::Initializer.run do |config|
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Add additional load paths for your own custom dirs
# config.load_paths += %W( #{RAILS_ROOT}/extras )
# Specify gems that this application depends on and have them installed with rake gems:install
# config.gem "bj"
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
# config.gem "sqlite3-ruby", :lib => "sqlite3"
# config.gem "aws-s3", :lib => "aws/s3"
# Only load the plugins named here, in the order given (default is alphabetical).
# :all can be used as a placeholder for all plugins not explicitly named
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
# Skip frameworks you're not going to use. To use Rails without a database,
# you must remove the Active Record framework.
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
# Activate observers that should always be running
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names.
config.time_zone = 'UTC'
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
# config.i18n.default_locale = :de
config.after_initialize do
ExceptionNotification::Notifier.exception_recipients = %w(applicationerror@seattlepub.com)
end
end
我不知道該如何進行,而我研究該問題的努力並未帶來任何幫助。 任何幫助將不勝感激。
編輯:
如果嘗試啟動服務器,則會收到類似的錯誤消息:
$ script/server
=> Booting WEBrick
=> Rails 2.3.12 application starting on http://0.0.0.0:3000
/Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:469:in `load_missing_constant': uninitialized constant Encoding (NameError)
from /Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:106:in `const_missing'
from /Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:118:in `const_missing'
from /Users/me/sites/myproject/config/environment.rb:2
from /Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require'
from /Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
from /Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:182:in `require'
from /Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:547:in `new_constants_in'
from /Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/activesupport-2.3.12/lib/active_support/dependencies.rb:182:in `require'
from /Users/me/.rvm/gems/ruby-1.8.7-p371@mygemset/gems/rails-2.3.12/lib/commands/server.rb:84
from /Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `gem_original_require'
from /Users/me/.rvm/rubies/ruby-1.8.7-p371/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in `require'
from script/server:3
該問題與ExceptionNotification插件有關(請參見mt environment.rb文件的末尾),具有諷刺意味的是,它導致了此異常。 重新安裝插件后,該應用程序運行正常。 –
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.