Использование ruby ​​1.9.2, rails3.1.0, Почему я получаю сообщение об ошибке при попытке создать скаффолд. - PullRequest
3 голосов
/ 07 октября 2011

В основном, когда я пытаюсь создать скаффолд, я получаю эту ошибку no such file to load -- openssl (LoadError).Ошибка исходит от

.rvm/gems/ruby-1.9.2-p290@rails310/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require'

Не уверен, почему это происходит.Вот полная ошибка:

/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>'

Ответы [ 3 ]

3 голосов
/ 07 октября 2011

ОК, так что я закончил этим.

  • удалил все версии ruby ​​из rvm
  • удалил все наборы гемов из 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
  • переустановленные рельсы в наборе камней

После этого все работает нормально.

2 голосов
/ 07 октября 2011

Вы должны быть в состоянии сделать что-то вроде этого: (простите за то, что могут быть ошибки в моих путях, а я не на моем linux box)

cd to ~.rvm/src/ruby-1.9.2-p290/ext/openssl
ruby extconf.rb
make
make install

По сути, просто перейдите в исходный каталог gem для вашей конкретной версии ruby ​​и пересоберите / установите его.

Вам не нужно будет перестраивать ruby, это была общая проблема.

1 голос
/ 07 октября 2011

Если вы в Linux, вы можете попробовать эти

apt-get install openssl
apt-get install libopenssl-ruby
...