從零開始在本地端架設 Hexo 部落格
主要說明如何從零開始在本地端架設 Hexo 部落格。本文詳細說明安裝工具、初始化、更改部落格基本資訊和本地端啟動 Hexo 部落格的步驟。
安裝工具
安裝 Node.js 及 Git
先安裝 Node.js 及 Git
檢查 Node.js 及 Git 是否安裝成功,有出現版本號應該就沒問題。
1 | daistella@DaiMacAirM2 ~ % node -v |
其他 Hexo 語法請看 Hexo官方文件。
安裝 Hexo 的指令工具
1 | npm install -g hexo-cli |
如果出現 Error: EACCES: permission denied 錯誤,可加入 sudo 安裝 Hexo 的指令工具。
1 | `Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/hexo-cli' |
以超級使用者的權限,全局安裝 Hexo CLI 工具,可以在系統的任何地方使用 hexo 指令來管理 Hexo 所架設的部落格。
- sudo: 以超級使用者(root)權限執行命令。
- npm: Node.js 的包管理器,用於安裝、更新和管理 JavaScript 程式包。
- install hexo-cli: 安裝 Hexo CLI。安裝 Hexo CLI 之後,你可以使用
hexo指令來初始化、生成、部署等指令來管理 Hexo 部落格。 - g: 全局安裝,即把模組安裝在全局範圍,而不是當前專案的 node_modules 目錄中。全局安裝後,可以在系統的任何地方使用這個模組提供的指令。
1 | sudo npm install -g hexo-cli |
檢查Hexo的指令工具是否安裝成功
1 | hexo -v |
創建 Hexo
在指定資料夾中初始化一個新的 Hexo 專案。
1 | hexo init <folder> |
切換到該專案資料夾中,安裝所有必需的 npm 套件,npm install 會根據 package.json 檔案中的所列套件(dependencies)下載並安裝,以確保 Hexo 專案可以正常運行。
1 | cd <folder> |
安裝完成後,專案資料夾就會有以下檔案。
更改部落格基本資訊
進入專案資料夾下的 _config.yml,可以修改部落格的基本資訊,以下是我先修改的地方,permalink 的預設值是 :year/:month/:day/:title/,不過我只想保留 title/ 就好。
- title: 網站標題
- subtitle: 網站副標題
- author: 作者名字
- timezone: 時區
- permalink: 文章永久連結的格式
1 | title: Stella Coding |
其他 Hexo 配置語法請看 Hexo官方文件-配置。
本地端啟動部落格
1 | hexo server |
如果出現 Error: ERROR Cannot find module 'hexo' 的錯誤,可加入 sudo 更改權限並重新安裝。
1 | Error: ERROR Cannot find module 'hexo' from '/Users/daistella/Documents/github_repo/stellacoding' |
將 .npm 目錄及其所有子目錄和文件的所有權,更改用戶和群組,以解決因權限導致的 npm 安裝錯誤。
- sudo: 以超級使用者(root)權限執行命令。
- chown:更改文件或目錄的所有者。
- R:遞歸地更改目錄下所有文件和子目錄的所有者。
- 501:20:指定新的所有者和群組。501 是用戶 ID(UID),20 是用戶群組 ID(GID)。
- 可以使用
id指令來查找這些 ID。
- 可以使用
1 | uid=501(daistella) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),701(com.apple.sharepoint.group.1),33(_appstore),100(_lpoperator),204(_developer),250(_analyticsusers),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh),400(com.apple.access_remote_ae) |
/Users/daistella/.npm:要更改所有者的目錄。這個目錄是 npm 在主目錄中儲存其全局配置和緩存的地方。
1 | sudo chown -R 501:20 "/Users/daistella/.npm" |
先強制刪除當前的 node_modules 目錄,以確保沒有殘留的舊文件或損壞的套件,然後強制重新安裝所有 package.json 檔案中的所列套件。
1 | rm -rf node_modules |
出現 Hexo is running at http://localhost:4000/blog 表示成功。
點擊該連結 http://localhost:4000/blog 即可連至本地端 Hexo 部落格。
其他 Hexo 架站說明請看 架設部落格第一次就上手 Hexo + Github + 自訂網域。