ruby-on-rails - 在 OSX Mavericks 之后无法加载此类文件 -- script/../config/boot (LoadError)

标签 ruby-on-rails ruby gem

我昨天在 Rails 应用程序 (v2.3) 上开发了一个 ruby​​,并决定将我的 iMac 更新到 OSX Mavericks。现在,每次我尝试在本地运行我的应用程序时,都会收到以下错误。有谁知道这是什么原因造成的?

像这样运行:

script/server -e development

错误:

 /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- script/../config/boot (LoadError)
        from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
        from script/server:2:in `<main>'

脚本/服务器(文件)

#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/server'

在安装 OSX Mavericks 之前它运行良好。

我注意到的事情:

  • 现在安装的ruby版本是2.0(之前是v1.8.7)

仅供引用:我对 Rails 还是很陌生。

安装 RVM 后:


好的,所以我设置了 RVM 并确保安装了 ruby​​ (1.8.7) 和 rails (2.3.11) 版本并将其配置为默认版本。

已安装的 RVM:

curl -L https://get.rvm.io | bash -s stable --rails

安装 Ruby 1.8.7:

rvm install ruby-1.8.7-p374

设置v1.8.7为默认版本:

rvm --default use 1.8.7

安装 Rails v2.3.11:

gem install rails -v 2.3.11

安装系统中的所有gem

rvm system ; rvm gemset export system.gems ; rvm 1.8.7 ; rvm gemset import system

现在,当我运行我的应用程序时,出现以下错误:(我错过了什么?)

=> Booting WEBrick...
/Users/imaginationplus/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:53:in `gem_original_require': no such file to load -- haml (MissingSourceFile)
    from /Users/imaginationplus/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:53:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:355:in `new_constants_in'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/plugins/haml/init.rb:5:in `evaluate_init_rb'
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:95:in `evaluate_init_rb'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings'
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:91:in `evaluate_init_rb'
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:44:in `load'
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:33:in `load_plugins'
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:32:in `each'
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:32:in `load_plugins'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:292:in `load_plugins'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:142:in `process'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:97:in `send'
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:97:in `run'
    from /Users/imaginationplus/gitlocal/dfc_workshop/config/environment.rb:14
    from /Users/imaginationplus/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:53:in `gem_original_require'
    from /Users/imaginationplus/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:53:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:355:in `new_constants_in'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/railties/lib/commands/servers/webrick.rb:59
    from /Users/imaginationplus/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:53:in `gem_original_require'
    from /Users/imaginationplus/.rvm/rubies/ruby-1.8.7-p374/lib/ruby/site_ruby/1.8/rubygems/core_ext/kernel_require.rb:53:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:355:in `new_constants_in'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in `require'
    from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/railties/lib/commands/server.rb:39
    from script/server:3:in `require'
    from script/server:3

最佳答案

从这个问题中要了解的主要事情是,您不能依赖于您的 ruby​​ 版本或您在 ruby​​ 项目中使用的 gem 的操作系统。当您创建其他 ruby​​ 应用程序时,您可能会再次遇到这个问题。

-  To manage the gems use Bundler
   Bundler maintains a consistent environment for each ruby applications. 

-  To manage the Ruby versions use rbenv or rvm 

关于ruby-on-rails - 在 OSX Mavericks 之后无法加载此类文件 -- script/../config/boot (LoadError),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19566717/

相关文章:

ruby-on-rails - 如何显示电子邮件最初在 Rails 中发送给谁?

ruby-on-rails - ActionCable - 无法在生产环境中升级到 WebSocket

ruby-on-rails - rails : How To Track Down A Method Called On An Array That Has No Such Method?

ruby-on-rails - Activeadmin 可按多列排序

ruby-on-rails - 如何验证包含两个单词的列表的包含

ruby-on-rails - Ruby 测试覆盖率映射工具

ruby - 为什么即使未执行该代码路径,Ruby 似乎也会从 case 语句内部提升变量声明?

ruby - 在 Ruby 中隐藏用户输入

ruby-on-rails - 错误 : Error installing pg: ERROR: Failed to build gem native extension

ruby - 如何卸载 RVM gem?