分類
標籤
268 字
1 分鐘
Node.js 找不到套件
沒怎麽研究過 nodejs、npm 和 powershell,所以此文可能會讓人血壓升高
情境
(base) PS C:\Users\Username\Documents\GitHub\pr_test> tsx .\test_parsimmon_3.ts
錯誤
node:internal/modules/cjs/loader:1251
throw err;
^
Error: Cannot find module 'C:\Users\Username\node_modules\tsx\dist\cli.mjs'
at Module._resolveFilename (node:internal/modules/cjs/loader:1248:15)
at Module._load (node:internal/modules/cjs/loader:1074:27)
at TracingChannel.traceSync (node:diagnostics_channel:315:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:217:24)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:166:5)
at node:internal/main/run_main_module:30:49 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
一開始還沒心思深入研究,就是瘋狂 npm pnpm npx 的指令全都試一次
重新安裝一次,全局重新安裝一次,還是錯誤
然後把環境變數也刪一刪,依舊無效(而且是連 npx tsx 都無法運作成功)
後來發現 node_modules 的路徑指向C:\Users\Username\node_modules
繼續調查,tsx 執行的是C:\Users\Username\node_modules\.bin\tsx.ps1
這個腳本
然後腳本再去尋找$basedir/../tsx/dist/cli.mjs
,所以……可能是……從頭到尾套件都沒被安裝到 C:\Users\Username\node_modules
?
但爲什麼它沒有執行我 repo 中的 node_modules 的 tsx 呢,算了
也不知道是哪個環節有問題,我直接重裝 nodejs + 刪除C:\Users\Username\node_modules
就解決了
想追根究底也來不及了,反正應該是混用套件管理器造成的問題,一刪解千愁