如何使用vercel修复nextjs部署中的"没有构建无服务器页面"的问题?



我正在尝试部署我的NextJs应用程序。在过去的几天里,我一直收到同样的2个错误:

1://并且稍后将出现错误
2:错误:未生成无服务器页面。了解更多信息:https://err.sh/vercel/vercel/now-next-no-serverless-pages-built
我不知道如何解决这两个问题。如果有人帮助,我将不胜感激

这是我的package.json文件:

{
"name": "my-dev-portfolio",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"dev": "next",
"bulid": "next build",
"start": "next start",
"now-build": "next build"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.1.1",
"@fortawesome/free-brands-svg-icons": "^6.1.1",
"@fortawesome/free-solid-svg-icons": "^6.1.1",
"@fortawesome/react-fontawesome": "^0.2.0",
"next": "^12.2.0",
"react-dom": "^18.2.0",
"typewriter-effect": "^2.19.0"
}
}

next.config.json文件:

module.exports = {
target: "serverless"
}

now.json文件:

{
"version": 2,
"builds": [{"src":"package.json", "use": "@now/next"}]
}

如果您使用的是新版本的节点,请尝试此操作

导航到Vercel仪表板中项目的设置

https://vercel.com/[用户名]/[项目]/设置

按照此过程修复:

  1. 向下滚动到页面上搜索Node.js版本Node.js版本
  2. 选择一个较新的版本,可能是16x18x,而不是14x
  3. 单击"保存"按钮
  4. 导航回部署https://vercel.com/[用户名]/[项目]/部署
  5. 单击最近提交的汉堡包菜单(三个点(
  6. 然后单击"REDEPLOY"按钮,并确保不要选择缓存选项

应用程序现在应该成功构建

确保用您各自的vercel用户名和vercel项目id 替换[用户名]和[项目]

对于now.json:您使用的是一个非常旧的方法。Vercel现在可以检测您的框架。查看博客中的公告:零配置部署.

对于使用target: serverlessnext.config.js,这也是完全不需要的。如果您正在部署到Vercel,只需将其移除即可。对于那些好奇的人,请查看https://nextjs.org/docs/advanced-features/output-file-tracing有关取代CCD_ 4的更好解决方案的更多信息。

您不需要now.json文件。删除它并再次尝试部署

对我来说,这是哨兵造成的。该应用程序在本地运行良好,但在构建时失败,并出现此错误。当我从最后一行删除SentryConfig时,将其从中删除

module.exports = withSentryConfig(nextConfig, SentryWebpackPluginOptions)     

module.exports = nextConfig

它再次建立在vercel上。

我怀疑这是由@ssentint/nextjs中的一个错误引起的,因为它没有通过pageExtensions: ['page.tsx', 'page.ts', 'page.jsx', 'page.js']在构建时正确地转换为next.js。

最新更新