Ghost 0.9.0 Upgrade
最近打開 Ghost 一直提醒我更新, 所以這篇文章就在一邊更新的過程中催生出來, 祝我好運吧!
How to upgrade (英文官方連結)
Preparation
備份 Export & Import
將資料先以 JSON 格式匯出, 以免悲劇性的錯誤發生 (但順利升級的話是不用特別再匯入的)。
確認能夠停止、重新啟動 Ghost
這部分可以參考 官方中文安裝文件, 其中列舉安裝方式是最終目標都是將 Ghost 部署到線上的機器, 所以會有幾種登出 SSH 仍不要停掉 Ghost 的做法, 這時候就會牽涉本章節標題的步驟 (確認能夠停止、重新啟動 Ghost), 但如果有閱讀過筆者 How to setup Ghost blog platform (下) , 會知道筆者平時是透過
npm start
run 在本地端, 等文章完成後, 再透過 buster 的腳本將部落格轉成靜態網頁發佈至 github.io, 所以關於這種做法要停止、重新開始則僅需要停掉npm start
這個 process, 等更新完之後再重新啟動即可。版本進版的挑選
遵循 Semantic Versioning 的版本規範 Version : Major.Minor.Patch, 所以官網關於在進版上有一些建議 參考連結, 避免使用到帶有 Upgrade Bug 的版本。
Upgrading
停止 Ghost 運行
先根據目前帶起 Ghost 的執行方式, 使其停止運行。
下載欲更新版本
解壓縮下載包
嗯, 就是解壓縮 you know ~
刪除原始安裝路徑下的部分資料夾、檔案, 並進行替換
不要刪掉
content
資料夾! 不要刪掉content
資料夾! 不要刪掉content
資料夾! 很重要所以說三遍, 這邊列出我有替換的部分:core folder
、index.js
、npm-shrinkwrap.json
、npm-shrinkwrap.json
、PRIVACY.md
、README.md
, 以及最麻煩的content/themes/casper
(要手動 merge 修改過的部分到新的版本, 筆者因為自身有引用一些語法高光、數學公式的 javascript 以及 修改過 Theme 的字體大小, 若皆無則可直接使用新版本覆蓋)。確認檔案的權限
這邊因為 Ghost 可能部署在雲端由多人共筆, 所以要確認使用者皆有讀寫的權限。
更新 Ghost 的相依套件
在 Ghost 安裝目錄可以見到
content
與core
, 在此路徑下執行npm install --production
(應無任何錯誤產生, 但警告可以容許)。重啟 Ghost
先根據自身帶起 Ghost 的執行方式, 使其重新運行。
Troubleshooting
可喜可賀, 筆者總算升級完成, 但似乎覺得好像更新後也沒什麼不同。世界依舊美好 :)