ruby - rails项目中使用配置文件来确定rails版本如何实现版本切换的

 毛小猫TTN 发布于 2022-10-26 09:28

最近在折腾这个开源项目canvas-lms

按照他wiki中的步骤配置完环境之后,跑起来,发现竟然是rails2.3.18我了个去

然后仔细看了他的Gemfile,发现了一个canvas_rails3的配置文件

# You can enable the not-yet-complete Rails3 support by either defining a
# CANVAS_RAILS3 env var, or create an empty RAILS3 file in the canvas config dir
if ENV['CANVAS_RAILS3']
  CANVAS_RAILS3 = ENV['CANVAS_RAILS3'] != '0'
else
  CANVAS_RAILS3 = File.exist?(File.expand_path("../RAILS3", __FILE__))
end
CANVAS_RAILS2 = !CANVAS_RAILS3

发现是通过ENV['CANVAS_RAILS3']来控制rails版本是2还是3的,想请问下这个ENV['CANVAS_RAILS3']这个环境变量值应该如何修改或者赋值呢,是从命令行传入么,看了rubydoc发现没怎么明白

2 个回答
    • 如果你是按照 Quick Start 小节来做的话,执行

      CANVAS_RAILS3=1 $GEM_HOME/bin/bundle exec script/server
      

      替代

      $GEM_HOME/bin/bundle exec script/server
      
    • 如果你是按照 Production Start 小节来做的话,你是不是之前创建了一个 canvasuser 用户?你可以在这个用户的 ~/.bashrc 里加上这么一句:

      export CANVAS_RAILS3=1
      

      然后启动 canvas 的时候用的应该就是 Rails3 了

    2022-10-27 00:50 回答
  • rails3.2和目前rails4差距蛮大的,升级rails后可能导致网站不能运行。因此建议在gemfile中指定和项目一样的版本,然后bundle install

    2022-10-27 00:50 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有