【发布时间】:2020-10-12 00:46:54
【问题描述】:
最亲爱的社区。p>
这是一个奇怪的问题,我自己也弄不明白。
我即将将 Ruby-on-Rails 应用程序部署到生产服务器。我喜欢在开发和生产之间保持所有版本的一致性。
在我的 Gemfile 中,我将 Ruby 版本设置为 2.7.1(正确),在开发时我安装了 2.7.1 并在本地为这个特定项目使用该版本。一切正常! - 这是条目:
宝石文件
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.7.1'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 6.0.3', '>= 6.0.3.2'
...
问题:
在生产中,我安装并使用(通过 rbenv)ruby 2.7.1。我验证了该版本已安装并正在使用中!但是,当它尝试迁移我的数据库或为此执行任何其他任务时,它会输出以下内容
Your Ruby version is 2.7.0, but your Gemfile specified 2.7.1
我什至没有安装 2.7.0。所以为了它,我在生产环境中编辑了 Gemfile 来运行测试。出于测试的目的,我将 ruby 版本设置为 2.7.0 并运行另一个启动机架的命令。现在消息是:
Your Ruby version is 2.7.1, but your Gemfile specified 2.7.0
发生了什么?!我以前从未遇到过或见过类似的问题。任何帮助深表感谢!谢谢!
这里是环境细节:
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
$ rails -v
Rails 6.0.3.2
$ bundle -v
Bundler version 2.1.4
【问题讨论】:
-
能否请您再次检查
Gemfile.lock文件 -
@Harikrishnan - 我昨天也删除了锁定文件 - 不走运。不管怎样,我最终还是上床睡觉了,因为我不能再被打扰了。今天我登录,它可以正常工作。中间没碰过。很奇怪。我猜服务器也需要休息一下?! ??????
标签: ruby-on-rails ruby ubuntu gemfile