解決在 Ubuntu 22.04 上安裝 Ghost 遇到的問題

這次自己在安裝 Ghost CMS 的時候照著官方指引遇到了一些問題,留個記錄。
照著 Ghost 官方教學 應該會遇到一些狀況;

首先遇到底下這個錯誤

✖ Starting Ghost
One or more errors occurred.

1) CliError

Message: Error trying to connect to the MySQL database.
Help: You can run `ghost config` to re-enter the correct credentials. Alternatively you can run `ghost setup` again.


2) GhostError

Message: Ghost was able to start, but errored during boot with: Access denied for user 'root'@'localhost'
Help: Unknown database error
Suggestion: journalctl -u ghost_localhost -n 50

Debug Information:
    OS: Ubuntu, v22.04.1 LTS
    Node Version: v16.17.0
    Ghost Version: 5.15.0
    Ghost-CLI Version: 1.23.0
    Environment: production
    Command: 'ghost setup'

這個錯誤是因為 MySQL 安裝後沒有設定 root 的密碼造成的,所以需要使用 sudo mysql -u root 來設定密碼。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'the-new-password';

這邊若你密碼設定不符合安全應該會遇到底下此錯誤

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

可以藉由以下指令來確認 MySQL 密碼強度驗證相關資訊

mysql> SHOW VARIABLES LIKE 'validate_password%';

最後照著密碼強度的規則重新設置一個密碼後再次 ghost setup 來設置 MySQL 相關資訊即可。

Read more

Debug Story

Debug Story

Ref: * 寫程式不是輸出,是內化 * Vibe Story:用敘事智能為程式碼注入生命,簡化維護 這篇主要是想紀錄一下看了Ruddy 老師的文章後想做的事情,雖然通篇的重點不是在我想做的這件事,但因為Ruddy 老師的這篇文章讓我覺得以後在排除 Bug 的時候應該要做這件事才對。 以下的內容是擷取 Ruddy 老師的內容(部分修改) 1. 記錄搜尋路徑與嘗試過的假設 => 我以為是 state 沒清,但發現是 effect 未執行 2. 為錯誤進行分類,然後標註成概念 => 這是 mutable state 的副作用問題 3. 寫一段描述該段程式的情境與原則 => Vibe Story 該段程式的情境與原則可以參考一下的要點撰寫: * 場景(Context):描述程式碼的背景與需求。 * 目標(Goal):說明功能目的。 * 挑戰與迭代(Challenges &

By Mars
Claude Code Status line on Windows

Claude Code Status line on Windows

Claude Code 在大家軍備戰發布了 Status line 這個功能,讓使用者可以在 Claude Code 的輸入框下方自訂自己想要的訊息,官方提供幾個方式可以實現這功能(Bash, Node.js, Python),最後我選擇使用 Node.js。 趁著週末寫玩了一下,剛開始照著官方文件做,結果啥都沒顯示出來,接著叫 Claude Code 幫我做,他說成功了,結果還是啥都沒有...最後才發現可能是官方提供設定檔案的問題 { "statusLine": { "type": "command", "command": "~/.claude/statusline.sh", "padding": 0 // Optional:

By Mars