0%

Zhs $ Hexo 故障解決記錄

想解決問題的慾望

大約是一週前,準備在因新冠疫情禁足的一個月之後,重啟一天發一篇文的挑戰。

因為每日練習英文打字,加上五十肩的疼痛,在無法讓肩膀適時休息之下,肩膀痛到不行,也因此學習之旅走鐘的頗嚴重,同時也清楚如果自己不持續下去,勢必有些學過的東西又會遺忘,所以決定每天就打一小小篇文就好。結果計畫又因一個zsh: command not found hexo的出現,又壞壞去了。

實在搞不清楚為什麼平常用得好好的指令突然就不能用了,在找問題出現在哪,且花了許多還是找不出來的狀況下,決定上「親愛的好想」的 slack 發問,在許多夥伴的幫助下,慢慢釐清可能的問題點,但由於自己的基本知識欠缺,而發生一知半解的狀況。

雖然一路下來花了很多時間在爬文,但由於是系統的設置,每個人都不太一樣,尤其是在上台電腦使用 sudo 最高權限操作,導致有許多問題產生,這些問題來自於網路上的求解,跟著指令做的解法也有許多風險,尤其是在自己不是很了解跟著做的指令,到底做了什麼、動到多少系統的基本配置,導致於最後有問題都不太能解決,所以新的電腦就決定盡量不要用 sudo 或是盡量安裝程式或套件時,安裝在需要用的專案裡就好。

ㄧ整個星期每次修都花好幾個小時,連做夢都夢到這件事,今天本來想說,好把,先把這個事情放掉,先用跛腳的卸掉zsh的方法上傳文章,因為hexo本身沒有壞,但是ㄧ手癢又開始試了,結果幾個小時過後,終於解決了!

知道要在zsh的設定檔.zshrc裡頭去設一個路徑變數,但是其實我連基本路徑變數語法都不知道,在解決的途中心裡一直想著,真的應該要去好好學學Linux的指令和系統架構,至少讓自己知道各個不同設定檔案應該會在哪些地方、放在哪裡、層級有什麼不同、全域變數應該是在哪裡可以找得到…等等。雖然會的指令可應付一般,但遇到問題仍然所知不足,所以解決後想說,那就開始學吧!

離題了,紀錄一下這次的處理:
狀況:出現zsh: command not found hexo的錯誤

  1. 字面上來看,是zsh認不出hexo指令
  2. zsh卸掉hexo指令就可以用,表示hexo沒壞
  3. /usr/local/bin/hexo做了hexo軟連結仍然沒用,表示沒找到hexo
  4. which hexowhereis hexo仍然沒找到hexo,於是開始一層層找,一層層試which hexo
  5. 找到hexo之後,將路徑寫成PATH放到.zshrc仍沒用
  6. 發現又被軟連結連到另一個地方,去哪裡試了which hexohexo -v成功,確認路徑
  7. PATH丟到~/.bash_profile沒成功
  8. 再將PATH丟到~/.zshrc成功!
  9. PATH的設定為export PATH=~/.npm-global/lib/node_modules/hexo-cli/bin:\$PATH並寫下註解# 把 hexo 指到指定位置
  10. 重啟zsh並試著更新文章:成功。

問題解決後,就開始學習那些以前的不足,還知識債的概念。