錯誤代碼
ERR_PNPM_UNEXPECTED_STORE
存在模組目錄,且連結至不同的儲存目錄。
如果您有心變更儲存目錄,請執行 pnpm install
,pnpm 將使用新的儲存重新安裝依賴項。
ERR_PNPM_NO_MATCHING_VERSION_INSIDE_WORKSPACE
專案有一個工作區相依性,但工作區中並不存在。
例如,套件 foo
在 dependencies
中有 bar@1.0.0
{
"name": "foo",
"version": "1.0.0",
"dependencies": {
"bar": "workspace:1.0.0"
}
}
然而,工作區中只有 bar@2.0.0
,因此 pnpm install
會失敗。
若要修正此錯誤,所有使用 工作區通訊協定 的相依性都應更新為使用工作區中現有的套件版本。這可以手動進行,或使用 pnpm -r update
指令。
ERR_PNPM_PEER_DEP_ISSUES
如果專案有未解決的同儕相依性,或同儕相依性不符合想要的範圍,pnpm install
會失敗。若要修正此問題,請安裝遺失的同儕相依性。
您也可以使用 package.json
中的 pnpm.peerDependencyRules.ignoreMissing 和 pnpm.peerDependencyRules.allowedVersions 欄位有選擇地忽略這些錯誤。
ERR_PNPM_OUTDATED_LOCKFILE
當安裝無法在不變更鎖定檔的情況下執行時,會發生此錯誤。如果有人在儲存庫中變更了 package.json
檔案,但之後沒有執行 pnpm install
,這可能會在 CI 環境中發生。或者有人忘記提交鎖定檔的變更。
若要修正此錯誤,請執行 pnpm install
並提交鎖定檔的變更。
ERR_PNPM_TARBALL_INTEGRITY
此錯誤表示已下載套件的 tarball 與預期的完整性檢查碼不符。
如果您使用 npm 註冊表 (registry.npmjs.org
),則這可能表示鎖定檔中的完整性不正確。如果鎖定檔有無法順利解決的合併衝突,可能會發生這種情況。
如果您使用允許覆寫套件現有版本的註冊表,則這可能表示在您的本機資料快取中,您有套件舊版本的完整性檢查碼。在這種情況下,您應該執行 pnpm store prune
。此指令會移除您的本機資料快取。然後,您可以重試失敗的指令。
但也要小心,並驗證套件是否從正確的 URL 下載。URL 應印在錯誤訊息中。
ERR_PNPM_MISMATCHED_RELEASE_CHANNEL
設定欄位use-node-version
定義與版本字尾不同的發行頻道。
例如
rc/20.0.0
定義rc
頻道,但版本是穩定版本的版本。release/20.0.0-rc.0
定義release
頻道,但版本是RC版本的版本。
若要修正此錯誤,請移除發行頻道前綴或修正版本字尾。
ERR_PNPM_INVALID_NODE_VERSION
設定欄位use-node-version
的值語法無效。
以下是use-node-version
的有效格式
- 穩定版本:
X.Y.Z
(X
、Y
、Z
為整數)release/X.Y.Z
(X
、Y
、Z
為整數)
- RC版本:
X.Y.Z-rc.W
(X
、Y
、Z
、W
為整數)rc/X.Y.Z-rc.W
(X
、Y
、Z
、W
為整數)