【问题标题】:Version of Ruby updated but Rails app still uses its older versionRuby 版本已更新,但 Rails 应用程序仍使用其旧版本
【发布时间】:2018-12-08 14:01:07
【问题描述】:

我安装了较新版本的 Ruby (2.5.1),所以我得到了(在我的 Ubuntu 16.04 中):

me@computer:~$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

但是当我打开我的 Rails (4.2.10) 应用程序并打开 WEBbrick 服务器时,它使用的是旧版 Ruby (2.3.1):

me@computer:~/Sites/app$ rails server
=> Booting WEBrick
=> Rails 4.2.10 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2018-06-29 13:17:35] INFO  WEBrick 1.3.1
[2018-06-29 13:17:35] INFO  ruby 2.3.1 (2016-04-26) [x86_64-linux-gnu]
[2018-06-29 13:17:35] INFO  WEBrick::HTTPServer#start: pid=6997 port=3000

为了安装更新版本的 Ruby,我使用了 rbenv。所以命令正确地说:

me@computer:~/Sites/app$ rbenv version
2.5.1 (set by /home/me/.rbenv/version)

我错过了什么?

【问题讨论】:

  • 我不熟悉 rbenv,但是你检查过你的 Gemfile 吗?应该是ruby '2.3.1' 什么的。
  • 我的 Gemfile 没有任何关于 Ruby 版本的信息。 “红宝石”或“2.3.1”都不是。它开始于:source 'rubygems.org' gem 'rails', '~> 4.2', '>= 4.2.10' ... 之后只有 gems。
  • 您的.ruby-version 文件中有什么内容?

标签: ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

在您的 Gemfile 中 source 'https://rubygems.org' 下方添加 ruby '2.5.1' 然后执行bundle install。如果bundle install 没有正确发生,只需删除Gemfile.lock 然后执行bundle install

【讨论】:

  • 帮助!之后我必须做(在命令中):“rbenv rehash”和“gem install bundler”之后。新版本终于可以使用了。谢谢!
  • 请记住,删除 Gemfile.lock 非常危险。您需要的所有宝石都会跳到您的Gemfile 允许的最高值。这可能会导致不需要的 gem 升级。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
  • 1970-01-01
  • 2015-05-16
  • 2013-12-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多