2016-01-07 5 views
2
➜ ~ ruby -v 
ruby 1.8.7 (2014-01-28 patchlevel 376) [i686-darwin15.0.0] 

➜ ~ rails -v 
Rails 2.3.18 

➜ ~ gem environment 
RubyGems Environment: 
- RUBYGEMS VERSION: 2.0.17 
- RUBY VERSION: 1.8.7 (2013-06-27 patchlevel 374) [i686-darwin15.0.0] 
- INSTALLATION DIRECTORY: /Users/reboot/.rvm/gems/ruby-1.8.7-p374 
- RUBY EXECUTABLE: /Users/reboot/.rvm/rubies/ruby-1.8.7-p374/bin/ruby 
- EXECUTABLE DIRECTORY: /Users/reboot/.rvm/gems/ruby-1.8.7-p374/bin 
- RUBYGEMS PLATFORMS: 
- ruby 
- x86-darwin-15 
- GEM PATHS: 
- /Users/reboot/.rvm/gems/ruby-1.8.7-p374 
- /Users/reboot/.rvm/gems/[email protected] 
- GEM CONFIGURATION: 
- :update_sources => true 
- :verbose => true 
- :backtrace => false 
- :bulk_threshold => 1000 
- REMOTE SOURCES: 
- https://rubygems.org/ 

Но когда я бегу мой код на IDE, я получаю следующее сообщение об ошибке:Rails использует ту версию Ruby,

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- cron_tools (LoadError) 
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' 

Так что с выше сообщение об ошибке, это выглядит как рубин 2.0.0 быть использованным. По какой-то причине я также не могу загрузить файлы.

Как я могу использовать Rails для использования Ruby 1.8.7.

Я уже сделал rvm --default use 1.8.7

Вот мой путь

➜ ~ echo $PATH 
/Users/reboot/.rvm/gems/ruby-1.8.7-head/bin:/Users/reboot/.rvm/gems/[email protected]/bin:/Users/reboot/.rvm/rubies/ruby-1.8.7-head/bin:/Users/reboot/.rvm/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 


➜ ~ which ruby 
/Users/reboot/.rvm/rubies/ruby-1.8.7-head/bin/ruby 


➜ ~ which rails 
/Users/reboot/.rvm/gems/ruby-1.8.7-head/bin/rails 
+0

У вас должен быть файл .rvmrc в корневой папке rails с указанием версии ruby. –

+0

@MaxWilliams У меня есть файл 'ruby-version' в корневой папке rails. – Reboot

+0

@Reboot, вы имеете в виду '.ruby-version' (важна главная точка), и каково содержимое файла? И в корневой папке * rails * вы имеете в виду корневую папку вашего проекта rails? У вас также есть файл '.ruby-gemset', и если да, то каково его содержимое? – lurker

ответ

0

нормально, так что проблема была, когда я использовал Rubymine для запуска сценария он использовал рубин интерпретировать, то почему он не нагружал рельсы окружающая среда. Поскольку мой скрипт использовал Time.now - 1.month, где 1.month поступает из Active Support, а не Ruby stdlib, поэтому я получаю сообщение об ошибке. Я исправил проблему, запустив скрипт с терминала

./script/runner <filename> 

и все работало.

Мне также пришлось добавить эту строку в начале или в мой файл .zshrc, чтобы исправить проблему с Ruby-версией.

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"