ruby-on-rails - 您的 Ruby 版本是 2.7.0,但您的 Gemfile 指定了 3.0.0
问题描述
我按照本指南部署我的 Rails 应用程序:https ://gorails.com/deploy/ubuntu/20.04#ruby 一切正常,除了我想在部署我的应用程序的服务器上使用 rails 控制台,我不能因为这条消息:
Your Ruby version is 2.7.0, but your Gemfile specified 3.0.0
如果我ruby -v
和我的部署用户一起,这是答案ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux
但如果我sudo ruby -v
,这就是答案ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
。所以我想,这就是它的来源(如你所说的你的 Ruby 版本是 2.7.0,但你的 Gemfile 指定了 2.7.1)......
有谁知道我该怎么做?
编辑:这是我的部署脚本,作为部署用户
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
git clone https://github.com/rbenv/rbenv-vars.git ~/.rbenv/plugins/rbenv-vars
exec $SHELL
rbenv install 3.0.0
rbenv global 3.0.0
gem install bundler
解决方案
运行此命令
将 rbenv 添加到 bash 以便在每次打开终端时加载
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile
这将解决您的问题参考
推荐阅读
- php - 如何在数组中的php中使用“两个”计数器?
- angular - 如何在我之前选择的图像选择器中选择图像?
- asp.net-mvc - Microsoft.Web.RedisSessionStateProvider 不保存价值
- c - 为什么 C 中的可变长度数组被认为是危险的?
- dart - 如何居中对齐堆叠元素,以及如何水平拉伸一个?
- java - 通过 Java 套接字发送图像
- node.js - PDF 在无服务器上运行的 node.js 上显示空白
- javascript - 将处于 redux 状态的对象存储为值
- r - 同一绘图上的多个 Pen 的游行图
- python - pandas - 根据列值复制每一行'n'次