【问题标题】:Error while deploying NextJS app to AWS with serverless framework使用无服务器框架将 NextJS 应用程序部署到 AWS 时出错
【发布时间】:2022-01-13 22:48:18
【问题描述】:

当我尝试使用无服务器框架将我的 NextJS 应用程序部署到 AWS 时。

在我的下一个 JS 应用目录中,我运行了命令 npx serverless

并得到以下错误 -

$ npx serverless

  error:
  Error: Command failed with ENOENT: node_modules/.bin/next build
spawn node_modules/.bin/next ENOENT
'node_modules\.bin\next' is not recognized as an internal or external command,
operable program or batch file.
    at notFoundError (C:\Users\patel\.serverless\components\registry\npm\@sls-next\serverless-component@1.18.0\node_modules\@sls-next\serverless-component\node_modules\cross-spawn\lib\enoent.js:6:26)
    at verifyENOENT (C:\Users\patel\.serverless\components\registry\npm\@sls-next\serverless-component@1.18.0\node_modules\@sls-next\serverless-component\node_modules\cross-spawn\lib\enoent.js:40:16)
    at ChildProcess.cp.emit (C:\Users\patel\.serverless\components\registry\npm\@sls-next\serverless-component@1.18.0\node_modules\@sls-next\serverless-component\node_modules\cross-spawn\lib\enoent.js:27:25)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) {
  code: 'ENOENT',
  errno: 'ENOENT',
  syscall: 'spawn node_modules/.bin/next',
  path: 'node_modules/.bin/next',
  spawnargs: [ 'build' ],
  originalMessage: 'spawn node_modules/.bin/next ENOENT',
  shortMessage: 'Command failed with ENOENT: node_modules/.bin/next build\n' +
    'spawn node_modules/.bin/next ENOENT',
  command: 'node_modules/.bin/next build',
  exitCode: undefined,
  signal: undefined,
  signalDescription: undefined,
  stdout: '',
  stderr: "'node_modules\\.bin\\next' is not recognized as an internal or external command,\r\n" +
    'operable program or batch file.',
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}

  3s » myNextApplication » Error: Command failed with ENOENT: node_modules/.bin/next build
spawn node_modules/.bin/next ENOENT
'node_modules\.bin\next' is not recognized as an internal or external command,
operable program or batch file.

我正在使用 aws configure 设置我的 AWS 凭证。

我的serverless.yml文件如下,

myNextApplication:
  component: "@sls-next/serverless-component@1.18.0"

我应该如何使用无服务器框架将我的应用程序部署到 AWS 云?

谢谢。

【问题讨论】:

  • 您在运行该命令之前是否运行了npm install
  • 是的,所有必需的模块都已完美安装。

标签: javascript amazon-web-services next.js serverless-framework aws-serverless


【解决方案1】:

我遇到了同样的问题,问题是我在 monorepo 中使用 yarn 工作区lerna 以及 进行了设置>next 在 monorepo 的根目录中被声明为共享依赖项,而我尝试部署的 nextjs 应用程序的 package.json 中没有明确的依赖项。

为了运行无服务器,我们还需要在此处声明此依赖项。

就我而言,我只是简单地包括:

"next": "11.1.3-canary.49",

在依赖项中,现在无服务器也能够运行该命令。

【讨论】:

    猜你喜欢
    • 2021-01-07
    • 2020-05-18
    • 2019-10-12
    • 2021-09-30
    • 2021-05-12
    • 1970-01-01
    • 2020-07-04
    • 2020-03-19
    • 1970-01-01
    相关资源
    最近更新 更多