Ghost 2.x的升级可谓是有不少坑,本文记述我将Ghost 2.6.0升级至2.9.1的过程。
首先,启用用作管理Ghost的用户,将其加入sudo
组,设置密码并提供Shell。
切换到这个用户并切换到ghost安装的目录(/home/ghost
)
# adduser hr98 sudo
# passwd hr98
# usermod hr98 -s /bin/bash
# su hr98
$ cd /home/ghost
运行 ghost update
并输入管理用户的密码后,可能会出现错误。我遇到了两个错误:
- Node版本错误
- 文件权限错误
Ghost还不支持NodeJS 11.x,因此需要(降级)安装10.x。Ubuntu 18.04可如此解决:
# cat << EOF > /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_10.x bionic main
deb-src https://deb.nodesource.com/node_10.x bionic main
EOF
# apt clean
# apt update
# apt install --reinstall nodejs=10.14.2-1nodesource1
此外,权限问题可根据升级程序提供的提示解决,比如 sudo find ./ ! -path "./versions/*" -type f -exec chmod 664 {} \;
将问题都解决后再次运行 ghost update
即可完成升级。
完成升级后,将NodeJS升级回11.x版本:
# cat << EOF > /etc/apt/sources.list.d/nodesource.list
deb https://deb.nodesource.com/node_11.x bionic main
deb-src https://deb.nodesource.com/node_11.x bionic main
EOF
# apt clean
# apt update
# apt upgrade