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
2
3
4
5
6
7
{
"dependencies": {
"hexo": "^7.0.0",
"hexo-generator-index": "^4.0.0",
"hexo-renderer-marked": "^6.0.0"
}
}

這些套件 一個都還沒在你電腦裡


npm install 在做什麼?

當你執行:

1
npm install

npm 會:

  1. 讀取 package.json
  2. 知道「需要哪些套件」
  3. 上網下載它們
  4. 放到這個資料夾底下的:
1
node_modules/

這一步完成後:

  • Hexo 才能跑
  • hexo s
  • hexo g
  • hexo 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 完成了 / 卡在哪個錯誤

我會幫你一起排掉 🍞