2011-03-23 79 views
4

我尝试运行rails s时遇到此错误。它适用于生产环境,但不适用于本地Mac OSX。Rails 3:jopenssl加载错误

任何想法?

/gems/jruby-openssl-0.7.3/lib/openssl.rb:66:in `require': no such file to load -- jopenssl (LoadError) 
    from /Users/username/.rvm/gems/[email protected]/gems/jruby-openssl-0.7.3/lib/openssl.rb:66 
    from /Users/kellymkampen/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/net/https.rb:102:in `require' 
    from /Users/username/.rvm/rubies/ruby-1.8.7-p330/lib/ruby/1.8/net/https.rb:102 
    from /Users/username/.rvm/gems/[email protected]/gems/oauth-0.4.4/lib/oauth/consumer.rb:2:in `require' 
    from /Users/username/.rvm/gems/[email protected]/gems/oauth-0.4.4/lib/oauth/consumer.rb:2 
    from /Users/username/.rvm/gems/[email protected]/gems/oauth-0.4.4/lib/oauth/client/helper.rb:2:in `require' 
    from /Users/username/.rvm/gems/[email protected]/gems/oauth-0.4.4/lib/oauth/client/helper.rb:2 
    from /Users/username/.rvm/gems/[email protected]/gems/oauth-0.4.4/lib/oauth.rb:10:in `require' 
    from /Users/username/.rvm/gems/[email protected]/gems/oauth-0.4.4/lib/oauth.rb:10 
    from /Users/username/.rvm/gems/[email protected]/gems/bundler-1.0.10/lib/bundler/runtime.rb:68:in `require' 
    from /Users/username/.rvm/gems/[email protected]/gems/bundler-1.0.10/lib/bundler/runtime.rb:68:in `require' 
    from /Users/username/.rvm/gems/[email protected]/gems/bundler-1.0.10/lib/bundler/runtime.rb:66:in `each' 
    from /Users/username/.rvm/gems/[email protected]/gems/bundler-1.0.10/lib/bundler/runtime.rb:66:in `require' 
    from /Users/username/.rvm/gems/[email protected]/gems/bundler-1.0.10/lib/bundler/runtime.rb:55:in `each' 
    from /Users/username/.rvm/gems/[email protected]/gems/bundler-1.0.10/lib/bundler/runtime.rb:55:in `require' 
    from /Users/username/.rvm/gems/[email protected]/gems/bundler-1.0.10/lib/bundler.rb:120:in `require' 
    from /Users/username/rails_projects/socialblast/config/application.rb:7 
    from /Users/username/.rvm/gems/[email protected]/gems/railties-3.0.5/lib/rails/commands.rb:28:in `require' 
    from /Users/username/.rvm/gems/[email protected]/gems/railties-3.0.5/lib/rails/commands.rb:28 
    from /Users/username/.rvm/gems/[email protected]/gems/railties-3.0.5/lib/rails/commands.rb:27:in `tap' 
    from /Users/username/.rvm/gems/[email protected]/gems/railties-3.0.5/lib/rails/commands.rb:27 
    from script/rails:6:in `require' 
    from script/rails:6 

的Gemfile

gem 'rails', '3.0.5' 
gem 'sqlite3-ruby', '1.3.2', :require => 'sqlite3' 
gem 'gravatar_image_tag', '0.1.0' 
gem 'will_paginate', '3.0.pre2' 
gem 'paperclip', "~> 2.3" 
gem 'oauth', '~> 0.4.4' 
gem 'twitter', '~> 1.1.2' 
gem 'carmen' 
gem 'aws-s3' 
gem 'remotipart' 
gem 'jquery-rails', '>= 0.2.6' 
gem 'fb_graph', '>=1.4.0' 
gem 'faker', '0.3.1' 
gem 'rmagick', '2.12.2', :require => "RMagick" 
gem 'yaml_db' 
gem 'haml-rails' 
gem 'compass', '~> 0.10.6' 
gem 'yajl-ruby', '>= 0.7.6' 
gem 'jruby-openssl' 

回答

3

我有这个问题太...这里是我如何解决它(请注意,我使用JRuby太)。

首先检查你有ruby -ropenssl -e OpenSSL

OpenSSL的支持。如果再出现任何错误,你应该尝试gem install jruby-openssl

现在,这里的粗略位:在/gems/jruby-openssl-0.7.3/lib/ openssl.rb,我把第66行从require 'jopenssl'改为require 'openssl'

它看起来像在JRuby的OpenSSL的:(错误

+0

这是愚蠢的,解决它这个样子。你将如何部署呢? – 2011-11-28 22:48:14

+0

我同意这是一个黑客,我在浴缸有一个很好的磨砂之后,但作为提问者说“它在生产上工作正常”......问题在于环境而不是代码/项目,因此部署是一个不同的问题。 – Corin 2011-12-06 00:29:08