Basically, When I try to generate a scaffold I am getting this error
no such file to load -- openssl (LoadError)
.
The error is coming from
.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies开发者_Python百科.rb:240:in `block in require'
Not sure why this is happening. Here is the full error:
/home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rack-1.3.4/lib/rack/backports/uri/common_192.rb:53: warning: already initialized constant WFKV_
/home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require': no such file to load -- openssl (LoadError)
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `block in load_dependency'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:in `new_constants_in'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/rack-1.3.4/lib/rack/session/cookie.rb:1:in `<top (required)>'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `block in load_dependency'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:in `new_constants_in'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/actionpack-3.1.0/lib/action_dispatch/middleware/session/cookie_store.rb:4:in `<top (required)>'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application/configuration.rb:125:in `const_get'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application/configuration.rb:125:in `session_store'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application.rb:168:in `block in default_middleware_stack'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application.rb:142:in `tap'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application.rb:142:in `default_middleware_stack'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/engine.rb:445:in `app'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application/finisher.rb:37:in `block in <module:Finisher>'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/initializable.rb:25:in `instance_exec'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/initializable.rb:25:in `run'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/initializable.rb:50:in `block in run_initializers'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `each'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/initializable.rb:49:in `run_initializers'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application.rb:92:in `initialize!'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/railtie/configurable.rb:30:in `method_missing'
from /home/spencer/Desktop/blog/config/environment.rb:5:in `<top (required)>'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application.rb:78:in `require'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/application.rb:78:in `require_environment!'
from /home/spencer/.rvm/gems/ruby-1.9.2-p290@rails310/gems/railties-3.1.0/lib/rails/commands.rb:22:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
OK so what I ended up doing is this.
- uninstalled all version of ruby from rvm
- deleted all of the gemsets from rvm
- $ rvm pkg install openssl
- $ rvm pkg install zlib
- $ rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr --with-zlib-dir=$rvm_path/usr
- reinstalled rails in a gemset
Everything works fine after that.
You should be able to do something like this: (forgive the fact that there may be errors in my paths and I'm not on my linux box)
cd to ~.rvm/src/ruby-1.9.2-p290/ext/openssl
ruby extconf.rb
make
make install
Basically, just cd to the gem's source directory for your particular ruby version and rebuild/install this.
You will not need to rebuild ruby, this has been a common problem.
If your in linux you could try these
apt-get install openssl
apt-get install libopenssl-ruby
精彩评论