下了套vue3的代碼,執行pnpm install初始化,使用vite啟動,啟動后訪問就會報錯
報錯信息
ERROR 16:40:53 [vite] Pre-transform error: Cannot find package 'E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx-next\xxxxxxxxx-next-jeecgBoot-vue3\node_modules\.pnpm\@vitejs+plugin-vue-jsx@https+++registry.npmmirror.com+@vitejs+plugin-vue-jsx+-+plugin-vue-jsx_wpfjsfrcyfhppiaqhs2qki2ffu\node_modules\@babel\plugin-transform-typescript\package.json' imported from E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx-next\xxxxxxxxx-next-jeecgBoot-vue3\node_modules\.pnpm\@vitejs+plugin-vue-jsx@https+++registry.npmmirror.com+@vitejs+plugin-vue-jsx+-+plugin-vue-jsx_wpfjsfrcyfhppiaqhs2qki2ffu\node_modules\@vitejs\plugin-vue-jsx\dist\index.cjs
Did you mean to import @babel+plugin-transform-typescript@https+++registry.npmmirror.com+@babel+plugin-transform-typ_t6dvr774uyzoiatluosu5niumu/node_modules/@babel/plugin-transform-typescript/lib/index.js?ERROR 16:41:02 [vite] Internal server error: Cannot find package 'E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx-next\xxxxxxxxx-next-jeecgBoot-vue3\node_modules\.pnpm\@vitejs+plugin-vue-jsx@https+++registry.npmmirror.com+@vitejs+plugin-vue-jsx+-+plugin-vue-jsx_wpfjsfrcyfhppiaqhs2qki2ffu\node_modules\@babel\plugin-transform-typescript\package.json' imported from E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx-next\xxxxxxxxx-next-jeecgBoot-vue3\node_modules\.pnpm\@vitejs+plugin-vue-jsx@https+++registry.npmmirror.com+@vitejs+plugin-vue-jsx+-+plugin-vue-jsx_wpfjsfrcyfhppiaqhs2qki2ffu\node_modules\@vitejs\plugin-vue-jsx\dist\index.cjs
Did you mean to import @babel+plugin-transform-typescript@https+++registry.npmmirror.com+@babel+plugin-transform-typ_t6dvr774uyzoiatluosu5niumu/node_modules/@babel/plugin-transform-typescript/lib/index.js?Plugin: vite:vue-jsxFile: E:/work/VSCodeProjectWork/jeecg/xxxxxxxxx-next/xxxxxxxxx-next-jeecgBoot-vue3/src/utils/factory/createAsyncComponent.tsxat legacyMainResolve (node:internal/modules/esm/resolve:214:26)at packageResolve (node:internal/modules/esm/resolve:840:14)at moduleResolve (node:internal/modules/esm/resolve:910:20)at defaultResolve (node:internal/modules/esm/resolve:1130:11)at ModuleLoader.defaultResolve (node:internal/modules/esm/loader:396:12)at ModuleLoader.resolve (node:internal/modules/esm/loader:365:25)at ModuleLoader.getModuleJob (node:internal/modules/esm/loader:240:38)at ModuleLoader.import (node:internal/modules/esm/loader:328:34)at importModuleDynamically (node:internal/modules/cjs/loader:1261:33)at importModuleDynamicallyWrapper (node:internal/vm/module:430:21)at importModuleDynamicallyCallback (node:internal/modules/esm/utils:186:14)at TransformContext.transform (E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx-next\xxxxxxxxx-next-jeecgBoot-vue3\node_modules\.pnpm\@vitejs+plugin-vue-jsx@https+++registry.npmmirror.com+@vitejs+plugin-vue-jsx+-+plugin-vue-jsx_wpfjsfrcyfhppiaqhs2qki2ffu\node_modules\@vitejs\plugin-vue-jsx\dist\index.cjs:84:13)at Object.transform (file:///E:/work/VSCodeProjectWork/jeecg/xxxxxxxxx-next/xxxxxxxxx-next-jeecgBoot-vue3/node_modules/.pnpm/vite@5.2.13_@types+node@20.14.2_less@4.2.0/node_modules/vite/dist/node/chunks/dep-DEPSZ3SS.js:52318:62)at async loadAndTransform (file:///E:/work/VSCodeProjectWork/jeecg/xxxxxxxxx-next/xxxxxxxxx-next-jeecgBoot-vue3/node_modules/.pnpm/vite@5.2.13_@types+node@20.14.2_less@4.2.0/node_modules/vite/dist/node/chunks/dep-DEPSZ3SS.js:55073:29)at async viteTransformMiddleware (file:///E:/work/VSCodeProjectWork/jeecg/xxxxxxxxx-next/xxxxxxxxx-next-jeecgBoot-vue3/node_modules/.pnpm/vite@5.2.13_@types+node@20.14.2_less@4.2.0/node_modules/vite/dist/node/chunks/dep-DEPSZ3SS.js:64920:32)
同樣的代碼再同事電腦里就可以正常運行,
找到了個文章,解決方案是換個文件夾,原因的特殊字符,
jenkins目錄下的vue3項目——pnpm install后運行報錯——奇葩問題解決
我嘗試了一下,將_改為了-,不好使,
E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx_next\xxxxxxxxx-next-jeecgBoot-vue3
同級換個文件夾,不好使
E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx_next\xxxxxxxxx-next-vue3
放在根目錄下的A文件夾里,,好使,,
E:\A
按照原文件夾的名字拼接在一起變成了個巨長的文件夾名,不好使
E:\workVSCodeProjectWorkjeecgxxxxxxxxx_nextxxxxxxxxx-next-jeecgBoot-vue3
更改稍短點的路徑,好使
E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx_next\vue3
由此得出的pnpm不能在特別長的文件夾下使用
它的機制產生巨長的路徑E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx-next\xxxxxxxxx-next-jeecgBoot-vue3\node_modules\.pnpm\@vitejs+plugin-vue-jsx@https+++registry.npmmirror.com+@vitejs+plugin-vue-jsx+-+plugin-vue-jsx_wpfjsfrcyfhppiaqhs2qki2ffu\node_modules\@babel\plugin-transform-typescript\package.json' imported from E:\work\VSCodeProjectWork\jeecg\xxxxxxxxx-next\xxxxxxxxx-next-jeecgBoot-vue3\node_modules\.pnpm\@vitejs+plugin-vue-jsx@https+++registry.npmmirror.com+@vitejs+plugin-vue-jsx+-+plugin-vue-jsx_wpfjsfrcyfhppiaqhs2qki2ffu\node_modules\@vitejs\plugin-vue-jsx\dist\index.cjs
實測已經561個字符了,與好使的路徑只差26個字符,猜測是要控制在512以內,去除\ 536,536-26=510,也許就是答案吧,,