有关NodeBB从低版本1.7.x升级到最新的1.16.x版本
有关NodeBB升级历险记
公司线上的论坛网站一直都是1.7.4版本,而且有不少地方感觉用起来不是很顺手,就想着应该给它升升级了,从1.7.4升级到最新的1.16.x版本;
注:不要直接跨版本升级到最高版本,会有数据错乱的问题;
升级实操
备份数据
在正式升级之前,理应做的一件事就是备份数据,包括MongoDB里的数据和整个NodeBB目录的数据;
- MongoDB数据库数据,我是通过客户端进行备份的,略;
- NodeBB目录数据备份;
tar -zcvf NodeBB.tar.gz NodeBB/
1.7.4–>1.8.x
进入NodeBB根目录,执行以下操作;
git fetch
git branch -r
git branch -v
git checkout v1.8.x
## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
通过执行./nodebb upgrade之后,MongoDB数据库数据会兼容当前版本,我猜测是修改了数据结构,虽然MongoDB没有所谓的数据结构,反正应该是更新了数据;
1.8.x–>1.9.x
照着执行就行了;
sudo ./nodebb stop
git checkout v1.9.x
## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
1.9.x–>1.10.x
照着执行就行了;
sudo ./nodebb stop
git checkout v1.10.x
## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
1.10.x–>1.11.x
照着执行就行了;
sudo ./nodebb stop
git checkout v1.11.x
## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
1.11.x–>1.12.x
照着执行就行了;
sudo ./nodebb stop
git checkout v1.12.x
## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
1.12.x–>1.13.x
照着执行就行了;
sudo ./nodebb stop
git checkout v1.13.x
## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
1.13.x–>1.14.x
这里会有点不同;
sudo ./nodebb stop
git checkout v1.14.x
当我们切换到1.14.x的时候,会出现一个提示,
Can't find Husky, skipping post-checkout hook
You can reinstall it using 'npm install husky --save-dev' or delete this hook
不知道是不是报错,但是如果看着碍眼的话,执行如下操作:
rm -rf .git/hooks/
sudo npm i -D husky
然后再添加依赖和升级
## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
1.14.x–>1.15.x
sudo ./nodebb stop
git checkout v1.15.x## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
1.15.x–>1.16.x
sudo ./nodebb stop
git checkout v1.16.x
## 如果报错就切换到root再执行
sudo npm i
sudo ./nodebb upgrade
sudo ./nodebb start
## 可以查看下运行日志
sudo ./nodebb log
升级完到1.16.2之后,数据基本不会有问题,但是偏偏有个插件出了问题,就是nodebb-plugin-emoji这个插件,无法使用,看了一下是最新的3.5.1,控制台上面还写着兼容nodebb1.16.2版本,重新尝试了卸载重装卸载重装,都不起作用,反正这插件是废了。
error: [emoji] Failed to retrieve data for parse ENOENT: no such file or directory, open 'node_modules/nodebb-plugin-emoji/build/emoji/table.json' {"errno":-2,"code":"ENOENT","syscall":"open","path":"node_modules/nodebb-plugin-emoji/build/emoji/table.json","stack":"Error: ENOENT: no such file or directory, open 'node_modules/nodebb-plugin-emoji/build/emoji/table.json'"}
当然,我想着不应该如此,就尝试降低版本,降到了3.4.2,话说这个npm降版本也是折腾了我好一会时间;
[root@ylwl Platform]# npm view nodebb-plugin-emoji versions[ '3.4.0','3.4.1','3.4.2','3.4.3','3.5.0-0','3.5.0','3.5.1' ]
前面有很多版本,我直接删掉了,就近看这几个版本,其中,我更新nodebb哪个版本的时候,就从nodebb-plugin-emoji@3.4.2直接升级到了3.5.1,所以我尝试通过命令安装3.4.2这个版本并启动;
npm install nodebb-plugin-emoji@3.4.2
sudo ./nodebb stop
sudo ./nodebb activate emoji
sudo ./nodebb build
sudo ./nodebb start
安装了nodebb-plugin-emoji@3.4.2,问题迎刃而解了,果然,官方承认的兼容性是不可靠的,而我的专业判断也是蛮准确的;
有关NodeBB从低版本1.7.x升级到最新的1.16.x版本相关推荐
- Eclipse 版本升级:如何不卸载旧版本 Eclipse 实现在线升级到最新版本?
文章目录 前言 一.网上没"升级 Eclipse"相关资料吗? 1.1.相关资料很少,我也生气 1.2.升级新版本与在线升级插件傻傻搞不清 二.版本升级准备 2.1.Eclipse ...
- android4.42 版本k2x,斐讯K1 K2最新v22.4.x以上版本通用刷第三方固件教程
目前买的比较新的斐讯K1或者K2路由器要是按之前的刷机教程是不可行的了,所以要按下面的最新的方法来做才能成功. 支持的路由器原版固件版本:k1 v22.4.xx.xx版以上,k2 v22.4.xx.x ...
- 2019ug最新版本是多少_宝塔Linux面板7.4.2版本/Windows面板6.8版本请尽快升级到最新版本...
宝塔Linux面板7.4.2版本/Windows面板6.8版本请尽快升级到7.4.3版本,因为这两个版本目前存在一个漏洞可能会被利用,如果你正好使用这两个版本的话请尽快升级到 Linux面板7.4.3 ...
- linux 下升级apache,CentOS6.5在已有低版本环境下安装升级Apache+MySQL+PHP,centos6.5apache...
CentOS6.5在已有低版本环境下安装升级Apache+MySQL+PHP,centos6.5apache 由于最近工作中遇到了一个在比较老旧RedHat系Linux发行版系统上升级安装Apache ...
- 用友服务器系统版本低,客户端版本低于服务器端,请升级后再登录
问题现象: 近期爆发了一轮"客户端版本低于服务器端,请升级后再登录"的报错高峰 问题模块: 其他模块 关键字:客户端版本低于服务器端 问题版本:用友t6企业管理软件" s ...
- linux升级apache版本,Apache2.4版本的安装或升级常见错误
在安装或者升级成Apache2.4版本时可能会一些错误,我们在实际生产环境中Apache是需要定制编译参数的,以实现生产环境的服务定制,但是用旧的编译参数时一般会报这样的错误,如下: -略- chec ...
- mysql5.1升级5.5_mysql数据库迁移,由版本5.1升级至5.5.29,需要注意哪些
caching_sha2_password认证插件提供更多的密码加密方式,并62616964757a686964616fe59b9ee7ad9431333433636131且在加密方面具有更好的表现, ...
- Centos(Linux)升级git最新版本
在Linux/Centos服务器上,如果使用的git版本过低,使用的时候可能会由于低版本不支持遇到各种问题,比如Centos7系统自带的git版本一般是1.8.3.1的,比较旧,通常建议升级git后再 ...
- 如何升级Vue的版本 vue2.9.6升级到vue3.0
背景:电脑使用多年,一直使用vue 2.x版本,项目开发过程中由于一个模块涉及的集成模块过多,导致需要进行定义的变量越来越多,代码出现冗余,因此在同事的推动下,鉴于vue 3.x的优化,故对自己本来使 ...
最新文章
- Java的多态(详尽版)
- ASP.NET 中HttpRuntime.Cache缓存数据
- mysql触发器运算_在MySQL中使用触发器计算列值?
- Firefox3.0火速前进 比2.0版快2到3倍
- 问题集合---《平时遇到的问题 + 参考解决方式》
- CF-1209 F. Koala and Notebook(建图BFS)
- 设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。 设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。
- Notepad++离线安装使用Markdown插件
- [ROS-Beginner]1.安装与配置ROS环境
- 计算机毕业设计源码—SpringBoot+Vue宿舍管理系统
- Mahony 互补滤波算法
- 计算机软件答辩ppt范文,计算机毕业答辩ppt模板范文.ppt
- GB2312-80 所有汉字排序-拼音
- 视觉里程计 特征点法
- logo一键制作器源码
- Win10下用Strokeit的方法
- pubwin2009服务端 修改系统时间方法
- python中时间模块datetime总结
- 康耐视VisionPro基础教程-GigE方式 连接相机
- Haswell芯配独显 华硕F450JF全新上市
热门文章
- 关于WinForm中Pannel的定位问题 May 18th, 2010
- 新生电脑Win10入门基础操作
- 发那科机器人接线电源_实用FANUC 0i各模块接线及功能图
- Android websocket闪退,退出手机浏览器,websocket会自动关闭,不是长持续吗
- 计算机怎么移动游戏,Uplay游戏怎么搬移 Uplay游戏搬移方法介绍
- 微信定位真的泄露了你的精确位置
- 微信群对服务器的要求,微信群运营必看:运营微信群必做的7点要求
- Android Studio报错——The device might have stale dexed jars that don‘t match the current version
- GII全球创新指数(2011-2018年)
- PMP新考纲 敏捷题目 (五)