Vibe Coder
套件與環境:為什麼別人電腦可以跑,我的不行
套件與環境:為什麼別人電腦可以跑,我的不行
AI 生的程式幾乎都有相依套件:看到第一行 import requests 或 from openai import,就代表要先安裝套件,不裝就跑不起來。環境不對什麼都白費:程式碼完全一樣,但套件版本不同就可能出錯,虛擬環境讓每個專案有自己的乾淨空間,互不干擾。
你將學到什麼
套件是什麼
別人寫好的程式碼集合,看到 ModuleNotFoundError 知道怎麼解決。
pip 與 npm 差在哪
Python 和 JavaScript 兩套套件管理工具的對照。
虛擬環境為什麼重要
每個專案獨立的套件空間,版本不互相干擾。
記錄環境
requirements.txt 和 package.json,讓環境可以重現。
為什麼 Vibe Coder 需要懂套件管理
| 原因 | 說明 |
|---|---|
| AI 生的程式幾乎都有相依套件 | 看到第一行 import requests 或 from openai import,就代表要先安裝套件,不裝就跑不起來。 |
| 環境不對什麼都白費 | 程式碼完全一樣,但套件版本不同就可能出錯,虛擬環境讓每個專案有自己的乾淨空間。 |
| 讓別人能重現你的環境 | requirements.txt 記錄所有套件版本,別人執行一行指令就能完整重現你的環境。 |
| 版本衝突是常見卡關 | 套件 A 需要 numpy 1.x,套件 B 需要 numpy 2.x,兩個裝在一起就爆,虛擬環境能隔離這個問題。 |
套件是什麼
套件(Package)是別人寫好的程式碼集合,讓你不用從零開始做每一件事。想發 HTTP 請求,不用自己實作 TCP 連線,安裝 requests 套件就好;想用 AI API,安裝 openai 或 anthropic 套件就好。套件由套件管理工具負責安裝、更新、移除:Python 用 pip,JavaScript 用 npm(或 yarn、pnpm)。
pip 與 npm 的差異
| 項目 | pip(Python) | npm(JavaScript / Node.js) |
|---|---|---|
| 安裝套件 | pip install 套件名 | npm install 套件名 |
| 移除套件 | pip uninstall 套件名 | npm uninstall 套件名 |
| 查看已安裝 | pip list | npm list |
| 依清單安裝 | pip install -r requirements.txt | npm install(讀 package.json) |
| 套件存在哪 | 虛擬環境的 site-packages/ | 專案的 node_modules/ 資料夾 |
| 套件清單檔 | requirements.txt | package.json |
虛擬環境為什麼重要
如果不用虛擬環境,所有套件都裝在「系統全域」,問題是:專案 A 需要 flask==2.3,專案 B 需要 flask==3.0,兩個無法共存;你幫別人修電腦時裝了奇怪的套件,會影響你自己所有的專案;部署到雲端時,不知道該裝哪些套件、裝哪個版本。虛擬環境讓每個專案有自己的獨立套件空間,互不影響。
# 在專案資料夾裡建立虛擬環境
python3 -m venv .venv
# 啟動(Mac / Linux)
source .venv/bin/activate
# 啟動(Windows PowerShell)
.venv\Scripts\activate
# 確認啟動:終端機前方出現 (.venv)
# 啟動後安裝的套件只影響這個專案
requirements.txt 與 package.json
這兩個檔案是「環境的說明書」,記錄這個專案需要哪些套件和版本。有了這個檔案,任何人都能一行指令重現你的環境。
Python:requirements.txt
# 把目前虛擬環境的所有套件輸出成清單
pip freeze > requirements.txt
# 別人拿到你的專案,一行指令安裝全部
pip install -r requirements.txt
JavaScript:package.json
# 初始化新的 Node.js 專案(產生 package.json)
npm init -y
# 安裝套件並自動記錄到 package.json
npm install express
# 別人拿到你的專案,一行指令安裝全部
npm install
node_modules 資料夾可能有幾萬個檔案、幾百 MB,不要放進 Git,.gitignore 裡加上 node_modules/,別人用 npm install 自己裝就好。版本衝突怎麼解
- 先看錯誤訊息:通常會說「requires X version Y, but you have Z」,找到衝突的套件名稱。
- 建一個全新的虛擬環境:
python3 -m venv .venv_new,從乾淨的狀態開始裝。 - 貼錯誤訊息給 AI:告訴 AI「我安裝這些套件時出現這個衝突,請幫我找到相容的版本組合」。
延伸學習
寫給升國一的你的筆記術
寫給剛升上國中的你:筆記不是寫給老師看的,是寫給考前的自己看的。18 章 85 課圖文,從「為什麼要寫」講到七科各自怎麼記,附 78 份可以印出來寫的練習單,以及 80 課家長專區與 34 張三年筆記養成路徑圖。沒有閱讀期限,國一買、國三還在。
NT$ 3,599
HE201|Harness Engineering System Design(6 小時)
六小時的實作課:從 Blueprint 走到可以跑的規格,再用 No-code、n8n 低程式碼與程式碼三條路各做一次同一個 harness,最後處理可靠度——重試、錯誤處理、人工覆核。7 章 54 課,含常見坑與排錯、Capstone 實作,附學員講義 PDF。
NT$ 5,999

