Open issue-up[bot] opened 1 year ago
Some context about dependency versions:
The new named export LRUCache
is from lru-cache v9 and unstorage now uses it (https://github.com/unjs/unstorage/commit/5b8fc629dc23609f8de1a9d9f009835505180acb)
Some dependency in the tree is using an older (and hoisted!) version of lru-cache that makes this problem. It is impossible without reproduction to tell what is the issue but ideally finding that dependency using npm why lru-cache
/ pnpm why lru-cache
can be proper fix.
nuxt reproduction: https://github.com/nuxt/nuxt/issues/20368#issuecomment-1514874444
The problem still exists after using npm why lru-cache, and has tried to upgrade to nuxt v3.4.2 with the same problem.
@tenfei4 Would you mind sharing the npm-why
check result? (or your package.json could be also useful)
package.json
{
"private": true,
"scripts": {
"dev": "nuxt dev",
"build": "nuxt build",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"devDependencies": {
"@nuxtjs/tailwindcss": "^6.1.3",
"nuxt": "^3.4.2",
"nuxt-icons": "^3.1.0",
"nuxt-lazyimages": "^0.2.0"
},
"dependencies": {
"@ckeditor/ckeditor5-build-balloon": "^35.4.0",
"@ckeditor/ckeditor5-vue": "^4.0.1",
"axios": "^1.1.3",
"cropperjs": "^1.5.12",
"gsap": "^3.11.5",
"html2canvas": "^1.4.1",
"mysql2": "^3.2.3",
"nodemailer": "^6.8.0",
"qrcode.vue": "^3.3.3",
"redis": "^4.4.0",
"sharp": "^0.31.3",
"vue-img-viewr": "^2.0.11",
"vue3-toastify": "^0.0.3"
}
}
npm why lru-cache
lru-cache@8.0.5
node_modules/lru-cache
lru-cache@"^8.0.0" from mysql2@3.2.3
node_modules/mysql2
mysql2@"^3.2.3" from the root project
lru-cache@7.18.3
node_modules/named-placeholders/node_modules/lru-cache
lru-cache@"^7.14.1" from named-placeholders@1.1.3
node_modules/named-placeholders
named-placeholders@"^1.1.3" from mysql2@3.2.3
node_modules/mysql2
mysql2@"^3.2.3" from the root project
lru-cache@6.0.0
node_modules/semver/node_modules/lru-cache
lru-cache@"^6.0.0" from semver@7.5.0
node_modules/semver
semver@"^7.3.5" from css-loader@5.2.7
node_modules/css-loader
css-loader@"^5.0.0" from @nuxt/postcss8@1.1.3
node_modules/@nuxt/postcss8
@nuxt/postcss8@"^1.1.3" from @nuxtjs/tailwindcss@6.6.6
node_modules/@nuxtjs/tailwindcss
dev @nuxtjs/tailwindcss@"^6.1.3" from the root project
semver@"^7.3.5" from node-abi@3.40.0
node_modules/node-abi
node-abi@"^3.3.0" from prebuild-install@7.1.1
node_modules/prebuild-install
prebuild-install@"^7.1.1" from sharp@0.31.3
node_modules/sharp
sharp@"^0.31.3" from the root project
semver@"^7.4.0" from nitropack@2.3.3
node_modules/nitropack
nitropack@"^2.3.3" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
semver@"^7.3.4" from postcss-loader@4.3.0
node_modules/postcss-loader
postcss-loader@"^4.1.0" from @nuxt/postcss8@1.1.3
node_modules/@nuxt/postcss8
@nuxt/postcss8@"^1.1.3" from @nuxtjs/tailwindcss@6.6.6
node_modules/@nuxtjs/tailwindcss
dev @nuxtjs/tailwindcss@"^6.1.3" from the root project
semver@"^7.3.8" from sharp@0.31.3
node_modules/sharp
sharp@"^0.31.3" from the root project
semver@"^7.3.4" from vscode-languageclient@7.0.0
node_modules/vscode-languageclient
vscode-languageclient@"^7.0.0" from vite-plugin-checker@0.5.6
node_modules/vite-plugin-checker
vite-plugin-checker@"^0.5.6" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
semver@"^7.3.5" from @mapbox/node-pre-gyp@1.0.10
node_modules/@mapbox/node-pre-gyp
@mapbox/node-pre-gyp@"^1.0.5" from @vercel/nft@0.22.6
node_modules/@vercel/nft
@vercel/nft@"^0.22.6" from nitropack@2.3.3
node_modules/nitropack
nitropack@"^2.3.3" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
semver@"^7.5.0" from @nuxt/kit@3.4.2
node_modules/@nuxt/kit
@nuxt/kit@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
@nuxt/kit@"^3.0.0" from nuxt-icons@3.1.0
node_modules/nuxt-icons
dev nuxt-icons@"^3.1.0" from the root project
@nuxt/kit@"^3.0.0" from nuxt-lazyimages@0.2.0
node_modules/nuxt-lazyimages
dev nuxt-lazyimages@"^0.2.0" from the root project
@nuxt/kit@"^3.3.3" from @nuxt/telemetry@2.2.0
node_modules/@nuxt/telemetry
@nuxt/telemetry@"^2.2.0" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
@nuxt/kit@"^3.3.1" from @nuxtjs/tailwindcss@6.6.6
node_modules/@nuxtjs/tailwindcss
dev @nuxtjs/tailwindcss@"^6.1.3" from the root project
@nuxt/kit@"3.4.2" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
semver@"^7.3.4" from @nuxt/postcss8@1.1.3
node_modules/@nuxt/postcss8
@nuxt/postcss8@"^1.1.3" from @nuxtjs/tailwindcss@6.6.6
node_modules/@nuxtjs/tailwindcss
dev @nuxtjs/tailwindcss@"^6.1.3" from the root project
lru-cache@9.1.0 dev
node_modules/unstorage/node_modules/lru-cache
lru-cache@"^9.0.3" from unstorage@1.5.0
node_modules/unstorage
unstorage@"^1.4.1" from nitropack@2.3.3
node_modules/nitropack
nitropack@"^2.3.3" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
lru-cache@5.1.1 dev
node_modules/@babel/helper-compilation-targets/node_modules/lru-cache
lru-cache@"^5.1.1" from @babel/helper-compilation-targets@7.21.4
node_modules/@babel/helper-compilation-targets
@babel/helper-compilation-targets@"^7.21.4" from @babel/core@7.21.4
node_modules/@babel/core
@babel/core@"^7.21.3" from untyped@1.3.2
node_modules/untyped
untyped@"^1.3.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
untyped@"^1.3.2" from @nuxt/kit@3.4.2
node_modules/@nuxt/kit
@nuxt/kit@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
@nuxt/kit@"^3.0.0" from nuxt-icons@3.1.0
node_modules/nuxt-icons
dev nuxt-icons@"^3.1.0" from the root project
@nuxt/kit@"^3.0.0" from nuxt-lazyimages@0.2.0
node_modules/nuxt-lazyimages
dev nuxt-lazyimages@"^0.2.0" from the root project
@nuxt/kit@"^3.3.3" from @nuxt/telemetry@2.2.0
node_modules/@nuxt/telemetry
@nuxt/telemetry@"^2.2.0" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
@nuxt/kit@"^3.3.1" from @nuxtjs/tailwindcss@6.6.6
node_modules/@nuxtjs/tailwindcss
dev @nuxtjs/tailwindcss@"^6.1.3" from the root project
@nuxt/kit@"3.4.2" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
untyped@"^1.3.2" from @nuxt/schema@3.4.2
node_modules/@nuxt/schema
@nuxt/schema@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
@nuxt/schema@"3.4.2" from @nuxt/kit@3.4.2
node_modules/@nuxt/kit
@nuxt/kit@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
@nuxt/kit@"^3.0.0" from nuxt-icons@3.1.0
node_modules/nuxt-icons
dev nuxt-icons@"^3.1.0" from the root project
@nuxt/kit@"^3.0.0" from nuxt-lazyimages@0.2.0
node_modules/nuxt-lazyimages
dev nuxt-lazyimages@"^0.2.0" from the root project
@nuxt/kit@"^3.3.3" from @nuxt/telemetry@2.2.0
node_modules/@nuxt/telemetry
@nuxt/telemetry@"^2.2.0" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
@nuxt/kit@"^3.3.1" from @nuxtjs/tailwindcss@6.6.6
node_modules/@nuxtjs/tailwindcss
dev @nuxtjs/tailwindcss@"^6.1.3" from the root project
@nuxt/kit@"3.4.2" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
peer @babel/core@"^7.0.0" from @babel/helper-compilation-targets@7.21.4
peer @babel/core@"^7.0.0" from @babel/helper-create-class-features-plugin@7.21.4
node_modules/@babel/helper-create-class-features-plugin
@babel/helper-create-class-features-plugin@"^7.21.0" from @babel/plugin-transform-typescript@7.21.3
node_modules/@babel/plugin-transform-typescript
@babel/plugin-transform-typescript@"^7.20.7" from @vitejs/plugin-vue-jsx@3.0.1
node_modules/@vitejs/plugin-vue-jsx
@vitejs/plugin-vue-jsx@"^3.0.1" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
peer @babel/core@"^7.0.0-0" from @babel/plugin-syntax-typescript@7.21.4
node_modules/@babel/plugin-syntax-typescript
@babel/plugin-syntax-typescript@"^7.20.0" from @babel/plugin-transform-typescript@7.21.3
node_modules/@babel/plugin-transform-typescript
@babel/plugin-transform-typescript@"^7.20.7" from @vitejs/plugin-vue-jsx@3.0.1
node_modules/@vitejs/plugin-vue-jsx
@vitejs/plugin-vue-jsx@"^3.0.1" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
peer @babel/core@"^7.0.0-0" from @babel/plugin-transform-typescript@7.21.3
node_modules/@babel/plugin-transform-typescript
@babel/plugin-transform-typescript@"^7.20.7" from @vitejs/plugin-vue-jsx@3.0.1
node_modules/@vitejs/plugin-vue-jsx
@vitejs/plugin-vue-jsx@"^3.0.1" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
peer @babel/core@"^7.0.0-0" from @babel/plugin-syntax-jsx@7.21.4
node_modules/@babel/plugin-syntax-jsx
@babel/plugin-syntax-jsx@"^7.0.0" from @vue/babel-plugin-jsx@1.1.1
node_modules/@vue/babel-plugin-jsx
@vue/babel-plugin-jsx@"^1.1.1" from @vitejs/plugin-vue-jsx@3.0.1
node_modules/@vitejs/plugin-vue-jsx
@vitejs/plugin-vue-jsx@"^3.0.1" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
@babel/core@"^7.20.7" from @vitejs/plugin-vue-jsx@3.0.1
node_modules/@vitejs/plugin-vue-jsx
@vitejs/plugin-vue-jsx@"^3.0.1" from @nuxt/vite-builder@3.4.2
node_modules/@nuxt/vite-builder
@nuxt/vite-builder@"3.4.2" from nuxt@3.4.2
node_modules/nuxt
dev nuxt@"^3.4.2" from the root project
I think it is caused by mysql2 v3.2.3, before upgrading from nuxt v3RC version to v3.2.x encountered similar problems, because mysql v2.18.1 caused by the reason, using mysql2 v3.2.3 to replace, after everything is normal, when upgrading from nuxt v3.2.x to v3.4.1 came out lru-cache problem. I hope to feed back the problem to you so that this kind of problem can be fundamentally solved.
### Environment Node.js v18.6.0 Nuxt v3.4.1 ### Reproduction file:///D:/node/nuxt_app/.output/server/chunks/node-server.mjs:7557 const parserCache$2 = new LRU({ ^ TypeError: LRU is not a constructor at file:///D:/node/nuxt_app/.output/server/chunks/node-server.mjs:7557:23 at ModuleJob.run (node:internal/modules/esm/module_job:193:25) at async Promise.all (index 0) at async ESMLoader.import (node:internal/modules/esm/loader:541:24) at async loadESM (node:internal/process/esm_loader:83:5) at async handleMainPromise (node:internal/modules/run_main:65:12) Node.js v18.6.0 ### Describe the bug when upgrade nuxt from v3.2 to v3.4.1 white nuxt upgrade --force. in dev mod.all ok. when build,found this error. ### Additional context _No response_ ### Logs _No response_