【问题标题】:Stuck installing Rails: rails s and bundle exec rails server error安装 Rails: rails s and bundle exec rails server error
【发布时间】:2015-03-09 01:43:04
【问题描述】:

我使用的是 Windows 7、Ruby 2.2.1 和 Rails 4.2.0。 运行rails sbundle exec rails server 后出现以下错误:

C:/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32/lib/nokogiri.rb:29:in `require': cannot load such file -- nokogiri/nokogiri (LoadError)
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32/lib/nokogiri.rb:29:in `rescue in <top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/nokogiri-1.6.6.2-x86-mingw32/lib/nokogiri.rb:25:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/loofah-2.0.1/lib/loofah.rb:3:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/loofah-2.0.1/lib/loofah.rb:3:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rails-html-sanitizer-1.0.1/lib/rails-html-sanitizer.rb:2:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/rails-html-sanitizer-1.0.1/lib/rails-html-sanitizer.rb:2:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/sanitize_helper.rb:3:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/sanitize_helper.rb:3:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/text_helper.rb:32:in `<module:TextHelper>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/text_helper.rb:29:in `<module:Helpers>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/text_helper.rb:6:in `<module:ActionView>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/text_helper.rb:4:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/form_tag_helper.rb:18:in `<module:FormTagHelper>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/form_tag_helper.rb:14:in `<module:Helpers>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/form_tag_helper.rb:8:in `<module:ActionView>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/form_tag_helper.rb:6:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/form_helper.rb:4:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers/form_helper.rb:4:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers.rb:50:in `<module:Helpers>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers.rb:4:in `<module:ActionView>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/actionview-4.2.0/lib/action_view/helpers.rb:3:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/legacy_asset_tag_helper.rb:7:in `<module:LegacyAssetTagHelper>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/legacy_asset_tag_helper.rb:6:in `<module:Rails>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/legacy_asset_tag_helper.rb:4:in `<module:Sprockets>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/legacy_asset_tag_helper.rb:3:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/helper.rb:45:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/helper.rb:45:in `<module:Helper>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/helper.rb:7:in `<module:Rails>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/helper.rb:6:in `<module:Sprockets>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/helper.rb:5:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/railtie.rb:6:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sprockets-rails-2.2.4/lib/sprockets/railtie.rb:6:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sass-rails-5.0.1/lib/sass/rails/railtie.rb:2:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sass-rails-5.0.1/lib/sass/rails/railtie.rb:2:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sass-rails-5.0.1/lib/sass/rails.rb:11:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sass-rails-5.0.1/lib/sass/rails.rb:11:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/sass-rails-5.0.1/lib/sass-rails.rb:1:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.8.4/lib/bundler/runtime.rb:76:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.8.4/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.8.4/lib/bundler/runtime.rb:72:in `each'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.8.4/lib/bundler/runtime.rb:72:in `block in require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.8.4/lib/bundler/runtime.rb:61:in `each'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.8.4/lib/bundler/runtime.rb:61:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/bundler-1.8.4/lib/bundler.rb:134:in `require'
    from C:/Users/David/Documents/testapp/config/application.rb:7:in `<top (required)>'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `require'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `block in server'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
    from C:/Ruby22/lib/ruby/gems/2.2.0/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
    from bin/rails:4:in `require'        
    from bin/rails:4:in `<main>'

我还运行了gem list,并且安装了这些 gem。某些 gem 版本是否存在问题?

另外,它是 64 位 Windows;这可能有问题吗?我安装的是32位的,应该是兼容的吧?我将尝试使用 64 位版本的 DevKit 和 Ruby 卸载并重新安装所有内容。

谢谢!

【问题讨论】:

  • 您必须为 nokogiri 安装正确的 dll。当我第一次开始时,我使用 Windows 大约 6 个月,然后才转向 linux 进行 ruby​​ 开发。它明显更快,并且您不会像在 Windows 中那样遇到奇怪的情况。我建议安装一个带有 ubuntu 14.04 的虚拟机。
  • 我可能会在某个地方找到一个旧硬盘,将 Ubuntu 安装到它上面。看起来 windows 不是要走的路。
  • 您可以省去很多心痛。在我花时间转换之前我经历了很多痛苦,希望我没有等那么久。

标签: ruby-on-rails ruby installation ide


【解决方案1】:

我今天遇到了一个非常相似的问题。我今天尝试重新安装 ruby​​ 和 rails,但由于完全相同的原因,我无法让“rails server”工作。

为了让它工作,你需要运行 gem install nokogiri --platform="ruby" 但这在 Windows 上会失败,因为 nokogiri 在 Windows 上无法正确编译。

它应该与 RubyGems 下拉的预编译二进制安装一起使用,但我认为 RubyGems 或 nokogiri 中的某个地方存在一个错误,导致它现在无法正常工作,但我不确定。

【讨论】:

  • 我非常喜欢安装来学习 Ruby。我将尝试使用旧版本的 Ruby,但如果它是 Gems,我不知道我将如何解决这个问题。它似乎不仅仅是 nokogiri。
【解决方案2】:

是的,所以我回滚到 2.0.0。它奏效了。我在这里找到的“DL 已弃用,请使用 Fiddle”Ruby 2.0.0p0 IRB warning: "DL is deprecated, please use Fiddle" 只是一个警告。很快就会切换到 Ubuntu。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多