OSX Mavericks之后无法加载这样的文件 - 脚本/../config/boot(LoadError) [英] cannot load such file -- script/../config/boot (LoadError) after OSX Mavericks
问题描述
昨天我在rails应用程序(v2.3)上进行了一次ruby开发,并决定将我的iMac更新为OSX Mavericks。现在,每次我尝试在本地运行我的应用程序时,出现以下错误。有谁知道这是什么原因?
像这样运行:
脚本/服务器-e开发
错误:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb :45:在'require'中:无法加载这样的文件 - 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>'
脚本/服务器(文件)
需要File.dirname(__ FILE__)+'/../config/boot'
require'commands / server'
在安装OSX Mavericks之前它工作正常。
注意事项:
- 红宝石版本安装在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 - 默认使用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导入系统
现在,当我运行我的应用程序时,出现以下错误:失踪?)
=>引导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':没有这样的文件加载 - 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:在`require'
from /Users/imaginationplus/gitlocal/dfc_workshop/vendor/rails/activesupport/lib/active_support/dependencies.rb:510:in`require'
from / Users / imaginingplus /从/ Users / imaginationplus / gitlocal / dfc_workshop / vendor / rails / activesupport / lib / active_support / dependencies在`new_constants_in'
中创建gitlocal / dfc_workshop / vendor / rails / activesupport / lib / active_support / dependencies.rb。 rb:510:在`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:在`evaluate_init_rb '/ b $ b 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' $ / b / b from ./script/../config/../vendor/rails/railties/lib/initializer.rb:97:in`从'./script/../config'发送'
/../vendor/rails/railties/lib/initializer.rb:97:in from /Users/imaginationplus/gitlocal/dfc_workshop/config/environment.rb:14 $ b $ 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 / imaginingplus / 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 '/ b $ b 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 / imaginingplus / .rvm / rubies / ruby-1.8.7-p374 / lib / ruby / site_ruby / 1.8 / rubygems / core_ext / kernel_require.rb:53:在/ 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:在'require'
from / Users / imaginingplus / gitlocal / dfc_workshop / vendor / rails / activesupport / lib / active_support / dependencies.rb:510:'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 / imaginingplus / gitlocal / dfc_workshop / vendor / rails / railties / lib / commands / server.rb:39脚本/服务器中的
:3中的'require'
脚本/服务器中:3
问题在于你不能依赖于你的ruby版本的操作系统或你在ruby项目中使用的gem。当你创建额外的ruby应用程序时,你可能会遇到麻烦。
- 使用Bundler管理宝石
Bundler为每个ruby应用程序维护一个一致的环境。
- 要管理Ruby版本,请使用rbenv或rvm
I was doing development on a ruby on a rails application (v2.3) yesterday and decided to update my iMac to OSX Mavericks. Now, every time I try to run my application locally, I get the following error. Does anyone know whats causing this?
Run like this:
script/server -e development
Error:
/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>'
script/server (file)
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/server'
It was working fine before installing OSX Mavericks.
Things I Noticed:
- the version of ruby installed in now 2.0 (it was v1.8.7 before)
FYI: I'm still fairly new to rails.
After Installing RVM:
Ok so I setup RVM and made sure the version of ruby (1.8.7) and rails (2.3.11) are installed and configured as the default.
Installed RVM:
curl -L https://get.rvm.io | bash -s stable --rails
Install Ruby 1.8.7:
rvm install ruby-1.8.7-p374
Set v1.8.7 as the default version:
rvm --default use 1.8.7
Install Rails v2.3.11:
gem install rails -v 2.3.11
Install all the gems from system
rvm system ; rvm gemset export system.gems ; rvm 1.8.7 ; rvm gemset import system
Now when I run my app, I get the following error: (what am I missing?)
=> 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
The main thing to understand from this issue is that you cannot rely on the OS for your ruby version or the gems that you are using within a ruby project. As you create additional ruby apps you may run into trouble with this again.
- To manage the gems use Bundler
Bundler maintains a consistent environment for each ruby applications.
- To manage the Ruby versions use rbenv or rvm
这篇关于OSX Mavericks之后无法加载这样的文件 - 脚本/../config/boot(LoadError)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!