ruby-on-rails - Rails 使用了错误版本的 Ruby

标签 ruby-on-rails ruby rvm rubymine

➜  ~  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/ruby-1.8.7-p374@global
- GEM CONFIGURATION:
 - :update_sources => true
 - :verbose => true
 - :backtrace => false
 - :bulk_threshold => 1000
- REMOTE SOURCES:
 - https://rubygems.org/

但是当我在 IDE 上运行我的代码时,出现以下错误:

/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'

所以从上面的错误消息来看,似乎正在使用 ruby​​ 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/ruby-1.8.7-head@global/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

最佳答案

好的,所以问题是当我使用 Rubymine 来运行它使用 Ruby 解释的脚本时,这就是它没有加载 rails 环境的原因。由于我的脚本使用的是 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"

关于ruby-on-rails - Rails 使用了错误版本的 Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34655976/

相关文章:

ruby-on-rails - 同一实例的几种方法 - DRY

ruby-on-rails - RoR : How to create a dynamic text image with a specific font

ruby-on-rails - 从 ruby​​ gem 加载 rake 任务

ruby-on-rails - Redis 支持的 Rails 模型

ruby-on-rails - 测试一条路线时 Rspec 未定义方法 `route_to'?

ruby - 递归复制不包括文件夹匹配过滤器

ruby - 通过 RVM 在 OS X 10.11.6 上安装 ruby​​-2.3.0 时缺少符号

ruby-on-rails - rails : How to create a new entry in the join table

ruby-on-rails - RVM删除所有 ruby 和所有对应的 gem 集

ruby - RVM - 无法在 Ubuntu 11.10 上安装 gem thrift