部署未成功:部署目录 'out' 不存在
Deploy did not succeed: Deploy directory 'out' does not exist
将使用Next.js创建的应用程序部署到netlify时,出现以下错误,部署失败。
────────────────────────────────────────────────────────────────
6. Deploy site
────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────
Configuration error
────────────────────────────────────────────────────────────────
Error message
Deploy did not succeed: Deploy directory 'out' does not exist
Resolved config
build:
command: yarn build
commandOrigin: config
publish: /opt/build/repo/out
plugins:
- inputs: {}
origin: config
package: '@netlify/plugin-nextjs'
- inputs: {}
origin: config
package: netlify-plugin-cache-nextjs
Caching artifacts
Started saving node modules
Finished saving node modules
Started saving build plugins
Finished saving build plugins
Started saving yarn cache
Finished saving yarn cache
Started saving pip cache
Finished saving pip cache
Started saving emacs cask dependencies
Finished saving emacs cask dependencies
Started saving maven dependencies
Finished saving maven dependencies
Started saving boot dependencies
Finished saving boot dependencies
Started saving rust rustup cache
Finished saving rust rustup cache
Started saving go dependencies
Finished saving go dependencies
Build failed due to a user error: Build script returned non-zero exit code: 2
Failing build: Failed to build site
Failed during stage 'building site': Build script returned non-zero exit code: 2
Finished processing build request in 1m25.310488139s
各种文件和设置如下所示。
netlify.toml
[build]
command = "yarn build"
publish = "out"
[[plugins]]
package = "@netlify/plugin-nextjs"
[[plugins]]
package = "netlify-plugin-cache-nextjs"
package.json
...
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start",
"export": "next export"
},
...
Netlify |构建设置
各种设置以以下页面为准。
- Failed during stage 'building site': Deploy directory 'out' does not exist - Support - Netlify Community
- Next.js on Netlify | Netlify Docs
如果你知道如何解决这个问题,请告诉我。
我愿意接受任何想法。
我之前没有用过 Nextjs 和 Netlify,但我认为 Next 的默认构建目录是 .next
。这可能是您的部署失败的原因。但是,您可以为您的构建使用自定义目标。
module.exports = {
distDir: 'out',
}
参考https://nextjs.org/docs/api-reference/next.config.js/setting-a-custom-build-directory
您的 netlify.toml
文件中的构建命令缺少 yarn export
。由于 next export
没有被调用,因此 out/
文件夹将不存在。
[build]
command = "yarn build && yarn export"
publish = "out"
...
您可能还需要将 target: 'serverless'
添加到您的 next.config.js
文件中。
如果你得到部署没有成功:部署目录'dist'不存在错误:
将 package.json
上的构建命令更改为 nuxt generate
或在 netlify 构建设置中使用 nuxt generate
而不是在构建命令中使用 yarn build
。
然后在 nuxt.config
文件上设置 target: 'serverless'
。
将使用Next.js创建的应用程序部署到netlify时,出现以下错误,部署失败。
────────────────────────────────────────────────────────────────
6. Deploy site
────────────────────────────────────────────────────────────────
────────────────────────────────────────────────────────────────
Configuration error
────────────────────────────────────────────────────────────────
Error message
Deploy did not succeed: Deploy directory 'out' does not exist
Resolved config
build:
command: yarn build
commandOrigin: config
publish: /opt/build/repo/out
plugins:
- inputs: {}
origin: config
package: '@netlify/plugin-nextjs'
- inputs: {}
origin: config
package: netlify-plugin-cache-nextjs
Caching artifacts
Started saving node modules
Finished saving node modules
Started saving build plugins
Finished saving build plugins
Started saving yarn cache
Finished saving yarn cache
Started saving pip cache
Finished saving pip cache
Started saving emacs cask dependencies
Finished saving emacs cask dependencies
Started saving maven dependencies
Finished saving maven dependencies
Started saving boot dependencies
Finished saving boot dependencies
Started saving rust rustup cache
Finished saving rust rustup cache
Started saving go dependencies
Finished saving go dependencies
Build failed due to a user error: Build script returned non-zero exit code: 2
Failing build: Failed to build site
Failed during stage 'building site': Build script returned non-zero exit code: 2
Finished processing build request in 1m25.310488139s
各种文件和设置如下所示。
netlify.toml
[build]
command = "yarn build"
publish = "out"
[[plugins]]
package = "@netlify/plugin-nextjs"
[[plugins]]
package = "netlify-plugin-cache-nextjs"
package.json
...
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start",
"export": "next export"
},
...
Netlify |构建设置
各种设置以以下页面为准。
- Failed during stage 'building site': Deploy directory 'out' does not exist - Support - Netlify Community
- Next.js on Netlify | Netlify Docs
如果你知道如何解决这个问题,请告诉我。
我愿意接受任何想法。
我之前没有用过 Nextjs 和 Netlify,但我认为 Next 的默认构建目录是 .next
。这可能是您的部署失败的原因。但是,您可以为您的构建使用自定义目标。
module.exports = {
distDir: 'out',
}
参考https://nextjs.org/docs/api-reference/next.config.js/setting-a-custom-build-directory
您的 netlify.toml
文件中的构建命令缺少 yarn export
。由于 next export
没有被调用,因此 out/
文件夹将不存在。
[build]
command = "yarn build && yarn export"
publish = "out"
...
您可能还需要将 target: 'serverless'
添加到您的 next.config.js
文件中。
如果你得到部署没有成功:部署目录'dist'不存在错误:
将 package.json
上的构建命令更改为 nuxt generate
或在 netlify 构建设置中使用 nuxt generate
而不是在构建命令中使用 yarn build
。
然后在 nuxt.config
文件上设置 target: 'serverless'
。