前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Canvas网络教学平台-升级

Canvas网络教学平台-升级

作者头像
geekfly
发布2022-04-24 14:40:15
1.1K0
发布2022-04-24 14:40:15
举报
文章被收录于专栏:geekfly

参考官方网址:https://github.com/instructure/canvas-lms/wiki/Upgrading

1. Canvas Upgrade(更新代码)

进入代码安装目录,如果未修改过官方的代码(除配置文件),可直接执行:

代码语言:javascript
复制
sudo git fetch && git reset --hard origin/stable

有修改需处理冲突或覆盖本地代码。

同时更新analytics、rce源码; 检查ruby,yarn,npm版本是否符合最新版要求,可以看下Production Start。

2. Upgrade and Install Bundled Gems(更新和安装依赖库)

代码语言:javascript
复制
sudo bundle update

sudo bundle install

如果出错,

error1:

代码语言:javascript
复制
Your Ruby version is 2.4.9, but your Gemfile specified >= 2.6.0, < 3.1

升级Ruby到指定版本, 参考:

https://blog.csdn.net/weixin_41287260/article/details/103072951 https://segmentfault.com/q/1010000000476329

还需要重新安装bundle,执行:sudo gem install bundler

error2:

代码语言:javascript
复制
➜  canvas git:(stable) ✗ sudo bundle install
Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine.
Fetching gem metadata from https://rubygems.org/.......
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
You have requested:
  rails = 5.1.6.2

The bundle currently has rails locked at 5.1.6.1.
Try running `bundle update rails`

If you are updating multiple gems in your Gemfile at once,
try passing them all to `bundle update`

安装相应的依赖sudo bundle update rails,然后执行sudo bundle install。 如果插件版本报错,修改的gemfile.lock,记得备份,是否可以删除?

3. Upgrade and Install Node Modules(更新和安装Node模块)

代码语言:javascript
复制
sudo yarn install --ignore-engines

4. Compiled Assets(编译)

代码语言:javascript
复制
sudo RAILS_ENV=production bundle exec rake canvas:compile_assets

5. Database migrations(数据库迁移)

代码语言:javascript
复制
sudo RAILS_ENV=production bundle exec rake db:migrate:predeploy
sudo RAILS_ENV=production bundle exec rake db:migrate

db migrate某个rb出错,移出去了,跑一遍,报错,再放回去,跑,通过了。。 如果是在上一个版本之前的rb,觉得删除也无所谓。

6. Notification types(更新通知)

代码语言:javascript
复制
sudo RAILS_ENV=production bundle exec rake db:load_notifications

7. 重启

代码语言:javascript
复制
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/canvas_init restart
script/delayed_job restart

安装之后变成了目录,于是重新安装了sudo a2enmod passenger ,然后正常

rce更新备份.env文件,删除rce目录,重新拉取

8. 意外发现

更新后发现所有的icon图标都出问题了,编译也正常,删除/var/canvas/public/dist目录,重新执行编译:

代码语言:javascript
复制
sudo RAILS_ENV=production bundle exec rake canvas:compile_assets
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. Canvas Upgrade(更新代码)
  • 2. Upgrade and Install Bundled Gems(更新和安装依赖库)
    • error1:
      • error2:
      • 3. Upgrade and Install Node Modules(更新和安装Node模块)
      • 4. Compiled Assets(编译)
      • 5. Database migrations(数据库迁移)
      • 6. Notification types(更新通知)
      • 7. 重启
      • 8. 意外发现
      相关产品与服务
      数据传输服务
      腾讯云数据传输服务(Data Transfer Service,DTS)可帮助用户在业务不停服的前提下轻松完成数据库迁移上云,利用实时同步通道轻松构建高可用的数据库多活架构,通过数据订阅来满足商业数据挖掘、业务异步解耦等场景需求。同时,DTS 还提供私有化独立输出版本 DTS-DBbridge,支持异构数据库和同构数据库之间迁移和同步,可以帮助企业实现完整数据库迁移(如 Oracle)。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档