想解決問題的慾望
大約是一週前,準備在因新冠疫情禁足的一個月之後,重啟一天發一篇文的挑戰。
因為每日練習英文打字,加上五十肩的疼痛,在無法讓肩膀適時休息之下,肩膀痛到不行,也因此學習之旅走鐘的頗嚴重,同時也清楚如果自己不持續下去,勢必有些學過的東西又會遺忘,所以決定每天就打一小小篇文就好。結果計畫又因一個zsh: command not found hexo
的出現,又壞壞去了。
實在搞不清楚為什麼平常用得好好的指令突然就不能用了,在找問題出現在哪,且花了許多還是找不出來的狀況下,決定上「親愛的好想」的 slack 發問,在許多夥伴的幫助下,慢慢釐清可能的問題點,但由於自己的基本知識欠缺,而發生一知半解的狀況。
雖然一路下來花了很多時間在爬文,但由於是系統的設置,每個人都不太一樣,尤其是在上台電腦使用 sudo 最高權限操作,導致有許多問題產生,這些問題來自於網路上的求解,跟著指令做的解法也有許多風險,尤其是在自己不是很了解跟著做的指令,到底做了什麼、動到多少系統的基本配置,導致於最後有問題都不太能解決,所以新的電腦就決定盡量不要用 sudo 或是盡量安裝程式或套件時,安裝在需要用的專案裡就好。
ㄧ整個星期每次修都花好幾個小時,連做夢都夢到這件事,今天本來想說,好把,先把這個事情放掉,先用跛腳的卸掉zsh
的方法上傳文章,因為hexo
本身沒有壞,但是ㄧ手癢又開始試了,結果幾個小時過後,終於解決了!
知道要在zsh
的設定檔.zshrc
裡頭去設一個路徑變數,但是其實我連基本路徑變數語法都不知道,在解決的途中心裡一直想著,真的應該要去好好學學Linux
的指令和系統架構,至少讓自己知道各個不同設定檔案應該會在哪些地方、放在哪裡、層級有什麼不同、全域變數應該是在哪裡可以找得到…等等。雖然會的指令可應付一般,但遇到問題仍然所知不足,所以解決後想說,那就開始學吧!
離題了,紀錄一下這次的處理:
狀況:出現zsh: command not found hexo
的錯誤
- 字面上來看,是
zsh
認不出hexo
指令 - 把
zsh
卸掉hexo
指令就可以用,表示hexo
沒壞 - 在
/usr/local/bin/hexo
做了hexo
軟連結仍然沒用,表示沒找到hexo
- 用
which hexo
或whereis hexo
仍然沒找到hexo
,於是開始一層層找,一層層試which hexo
- 找到
hexo
之後,將路徑寫成PATH
放到.zshrc
仍沒用 - 發現又被軟連結連到另一個地方,去哪裡試了
which hexo
與hexo -v
成功,確認路徑 - 將
PATH
丟到~/.bash_profile
沒成功 - 再將
PATH
丟到~/.zshrc
成功! PATH
的設定為export PATH=~/.npm-global/lib/node_modules/hexo-cli/bin:\$PATH
並寫下註解# 把 hexo 指到指定位置
- 重啟
zsh
並試著更新文章:成功。
問題解決後,就開始學習那些以前的不足,還知識債的概念。