解決安裝和設定的各種疑難雜症
Pandoc 沒有加入 PATH
缺少 LaTeX 環境
PowerShell 執行原則限制
需要更新 Pandoc
Pandoc 沒有安裝,或沒有加入系統 PATH
1. 確認 Pandoc 已安裝
2. 將 Pandoc 加入 PATH 環境變數
pandoc --version
# 常見安裝位置
Test-Path "C:\Program Files\Pandoc\pandoc.exe"
Test-Path "C:\Users\$env:USERNAME\AppData\Local\Pandoc\pandoc.exe"
Get-ChildItem -Path C:\ -Name pandoc.exe -Recurse -ErrorAction SilentlyContinue
1前往 pandoc.org
2下載 Windows 安裝檔 (.msi)
3執行安裝,勾選「加入 PATH」
winget install --id JohnMacFarlane.Pandoc
choco install pandoc
1按 Win + R,輸入 sysdm.cpl
2點選「進階」→「環境變數」
3在「系統變數」找到 Path,點「編輯」
4點「新增」,加入 Pandoc 路徑:
C:\Program Files\Pandoc
5確定後,重新開啟 PowerShell 測試
# 取得目前的 PATH
$currentPath = [Environment]::GetEnvironmentVariable("Path", "User")
# 加入 Pandoc 路徑
$pandocPath = "C:\Program Files\Pandoc"
$newPath = "$currentPath;$pandocPath"
# 更新 PATH(需要管理員權限才能改系統變數)
[Environment]::SetEnvironmentVariable("Path", $newPath, "User")
# 讓目前的 PowerShell 也能用
$env:Path = "$env:Path;$pandocPath"
# 測試
pandoc --version
注意:設定後可能需要重啟 PowerShell 才會生效
轉換 PDF 需要 LaTeX,但系統未安裝
1前往 miktex.org
2下載 Windows 安裝檔
3執行安裝,選擇「為所有使用者安裝」
4設定自動安裝缺少的套件
小技巧:第一次轉換中文 PDF 可能需要下載字型,請耐心等待
# 安裝 wkhtmltopdf 後
pandoc input.md -o output.pdf --pdf-engine=wkhtmltopdf
# 轉成 HTML
pandoc input.md -o output.html --standalone
# 用瀏覽器開啟 → 列印 → 存成 PDF
pandoc input.md -o output.docx
# 用 Word 開啟 → 另存新檔 → PDF
Windows 預設禁止執行 PowerShell 腳本(安全考量)
# 以管理員身份開啟 PowerShell,執行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
# 或只允許目前會話
Set-ExecutionPolicy Bypass -Scope Process
| 原則 | 說明 |
|---|---|
| Restricted | 禁止所有腳本(預設) |
| RemoteSigned | 本機腳本可執行,下載的需簽署 |
| Unrestricted | 全部可執行(會警告) |
| Bypass | 完全不檢查 |
建議:使用 RemoteSigned,兼顧安全和方便
pandoc --version
# 輸出: pandoc 3.1.x
從官網下載最新版重新安裝,會自動覆蓋舊版
# check-env.ps1
Write-Host "=== 環境檢查 ===" -ForegroundColor Cyan
# 1. Pandoc
Write-Host "`n[Pandoc]" -ForegroundColor Yellow
try {
$v = pandoc --version | Select-Object -First 1
Write-Host " 版本: $v" -ForegroundColor Green
} catch {
Write-Host " 未安裝!" -ForegroundColor Red
}
# 2. LaTeX
Write-Host "`n[LaTeX]" -ForegroundColor Yellow
$latex = Get-Command pdflatex -ErrorAction SilentlyContinue
if ($latex) {
Write-Host " 已安裝: $($latex.Source)" -ForegroundColor Green
} else {
Write-Host " 未安裝 (PDF 轉換會受限)" -ForegroundColor Yellow
}
# 3. 執行原則
Write-Host "`n[執行原則]" -ForegroundColor Yellow
$policy = Get-ExecutionPolicy
Write-Host " 目前: $policy"
# 4. PATH
Write-Host "`n[PATH 檢查]" -ForegroundColor Yellow
$path = $env:Path -split ";"
$pandocInPath = $path | Where-Object { $_ -like "*pandoc*" }
if ($pandocInPath) {
Write-Host " Pandoc 在 PATH 中" -ForegroundColor Green
}
# 在 Antigravity 終端機中執行
pandoc --version
# 使用完整路徑
& "C:\Program Files\Pandoc\pandoc.exe" input.md -o output.docx
| 變數名稱 | 用途 |
|---|---|
| PANDOC_DATA_DIR | 自訂資料目錄(模板等) |
| LANG | 語系設定(影響日期格式等) |
| HOME | 使用者目錄 |
# 查看 Pandoc 資料目錄
pandoc --version
# 輸出中會顯示 User data directory
1執行 pandoc --version 確認安裝
2檢查 PowerShell 執行原則
3(選做)安裝 MiKTeX 支援 PDF
4建立環境檢查腳本
我在 Windows 11 上安裝了 Pandoc,
但在 PowerShell 中執行 pandoc 時顯示找不到命令。
請幫我一步一步解決這個問題。
我想要用 Pandoc 轉換 PDF,
但出現 pdflatex not found 錯誤。
請問最簡單的解決方法是什麼?
# 匯出環境變數
Get-ChildItem env: | Export-Csv "env-backup.csv" -NoTypeInformation
# 匯出 PATH
$env:Path -split ";" | Out-File "path-backup.txt"
# 匯出 PowerShell 設定
Get-ExecutionPolicy -List | Out-File "policy-backup.txt"
好處:重灌系統或換電腦時,可以快速恢復設定
要讓 PowerShell 可以執行本機腳本,建議設定的執行原則是?
下一步:在 Unit 03 學習如何用 AI 協助解決各種問題