2025-08-22 為什麼要打 npm install
2025-08-22 為什麼要打 npm install
這個問題問得非常好,而且是「核心觀念」等級的問題 👍
我會用「你真的用得到的理解方式」來解釋,讓你以後**自己就知道什麼時候一定要打 npm install**。
一句話先記住
npm install的目的:
把「這個 Hexo 專案需要用的工具」下載到本機
沒有它,Hexo 專案是「空殼」。
為什麼 hexo init 還不夠?
你剛剛做的是:
1 | hexo init hexo-sourdough |
這一步只做了:
- 建立目錄結構
- 建立設定檔
_config.yml - 建立
package.json
👉 它只是「列清單」,沒有下載工具
關鍵檔案:package.json
Hexo 專案裡一定有一個檔案叫:
1 | package.json |
裡面寫的是:
這個專案 「需要哪些 npm 套件」
例如(概念示意):
1 | { |
這些套件 一個都還沒在你電腦裡。
npm install 在做什麼?
當你執行:
1 | npm install |
npm 會:
- 讀取
package.json - 知道「需要哪些套件」
- 上網下載它們
- 放到這個資料夾底下的:
1 | node_modules/ |
這一步完成後:
- Hexo 才能跑
hexo shexo ghexo d
不打會怎樣?
如果你跳過 npm install,然後直接打:
1 | hexo s |
你會看到類似:
1 | Error: Cannot find module 'hexo' |
或
1 | hexo: command not found |
因為:
Hexo 專案要用的「零件」都不在
一個超重要的觀念(以後都會用到)
npm install = 組裝專案
package.json= 設計圖node_modules= 實際零件- 沒組裝,專案不會動
為什麼每個專案都要打一次?
因為:
node_modules是 專案級不同 Hexo 專案:
- 套件版本可能不同
- 外掛不同
👉 所以:
- 工程師筆記
lily_posts→ 一套 - 酸種筆記
hexo-sourdough→ 另一套
跟 USB 放置的關係(你現在的狀況)
- USB 沒問題
- 只要權限 OK
npm install會產生很多小檔案
👉 這就是為什麼權限一開始會卡你
最後一句話(真的記住這句)
看到
package.json,就知道一定要打npm install
下一步你可以做什麼?
如果你已經打完:
1 | npm install |
下一關就是最爽的:
1 | hexo s |
👉 在瀏覽器看到網站跑起來
你可以直接回我:
npm install完成了 / 卡在哪個錯誤
我會幫你一起排掉 🍞