我正在构建我的第一个Next.js网站,但由于某种原因,我遇到了一个构建错误。这种情况在本地和Vercel上都会发生,但我能够在某个时候得到一个工作的本地构建(现在不再工作了)。
这是我的包裹
{
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
},
"dependencies": {
"@chakra-ui/icons": "^2.0.17",
"@chakra-ui/react": "^2.5.1",
"@emotion/react": "^11.10.6",
"@emotion/styled": "^11.10.6",
"@fontsource/dm-sans": "^4.5.9",
"@tanstack/react-table": "^8.7.9",
"@types/react-table": "^7.7.14",
"framer-motion": "^9.0.4",
"mongodb": "^4.8.1",
"next": "latest",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-icons": "^4.8.0",
"react-query": "^3.39.3"
},
"devDependencies": {
"@types/node": "18.7.5",
"@types/react": "16.9.17",
"typescript": "4.6.3"
}
}
这些是我在运行npm run build
时得到的错误(我在本地和vercel上得到第一个,第二个只在vercel上得到)
x一个一个一个一个x一个一个二个x
这是我的tsconfig.json
{
"compilerOptions": {
"target": "es5",
"lib": ["dom", "dom.iterable", "esnext"],
"allowJs": true,
"skipLibCheck": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"noEmit": true,
"incremental": true,
"esModuleInterop": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"jsx": "preserve"
},
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}
我觉得奇怪的是这会产生一个错误,因为我自己并没有在任何地方使用framer-motion。它是与ChakraUI捆绑在一起的。在构建之后,我也会收到奇怪的错误,我的VSCode说它找不到某些导入。
我尝试过的:
1.删除node_modules和package-lock. json,再次运行npm i
1.卸载框架运动
1.将Vercel中的节点版本从18设置为16和14(无效)
老实说,我完全不知道该做什么,从哪里开始。希望阅读这篇文章的人有一个想法。
谢谢
1条答案
按热度按时间bprjcwpo1#
解决了!原来我需要用npm install -D typescript@latest更新Typescript。在Typescript Github上,建议全局安装,但最好是作为开发依赖项安装。TS工作人员已经为这个问题打开了一个拉取请求