2013-10-24 63 views
5

昨天我在rails應用程序(v2.3)上進行了ruby開發,決定將我的iMac更新爲OSX Mavericks。現在,每次我嘗試在本地運行我的應用程序時,出現以下錯誤。有誰知道這是什麼原因?無法加載這樣的文件 - 腳本/../ config/boot(LoadError)在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之前它工作正常。

事情,我注意到:

  • 紅寶石的版本安裝在現在2.0(這是v1.8.7之前)

FYI:我還是相當新的軌道。

安裝RVM後:


好了,所以我設置RVM並確保紅寶石的版本(1.8.7)和導軌(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 

從系統

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 
+0

您是否重新安裝導軌?例如。通過'捆綁安裝' – ckruse

+3

是的默認版本的紅寶石改變了,所有的寶石將需要重新安裝/重建..如果在Mac上進行開發,您可能需要查看int rvm或rbenv以使您的ruby/gem與系統ruby保持獨立,因此您可以絕對不受這些更改的影響,並且可以更好地控制版本等。 – Doon

+0

我正在設置RVM馬上。我會告訴你進展情況。 –

回答

0

主要的事情,從這個理解問題在於你不能依賴於你的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 
相關問題