AWS SAM - Esbuild 失败:找不到 esbuild

Tob*_*oba 7 typescript aws-sam esbuild

我正在使用“sam init”尝试使用带有 nodeJS 和 Typescript 的 AWS SAM,但是当我想使用“sam build”构建示例 hello-world-typescript 应用程序时,我收到以下消息:

Building codeuri: C:\RF\GitHub\rf-09-06\hello-world runtime: nodejs14.x metadata: {'BuildMethod': 'esbuild', 'BuildProperties': {'Minify': True, 'Target': 'es2020', 'Sourcemap': True, 'EntryPoints': ['app.ts']}} architecture: x86_64 functions: ['HelloWorldFunction']
Running NodejsNpmEsbuildBuilder:CopySource
Running NodejsNpmEsbuildBuilder:NpmInstall
Running NodejsNpmEsbuildBuilder:EsbuildBundle

Build Failed
Error: NodejsNpmEsbuildBuilder:EsbuildBundle - Esbuild Failed: cannot find esbuild
Run Code Online (Sandbox Code Playgroud)

知道如何解决吗?

谢谢!

use*_*461 16

可以通过以下两种方式解决:

  1. 使用全局安装 esbuildnpm install -g esbuild

  2. 正如AWS SAM github issues中提到的,将 esbuild 移至非开发依赖项( npm install esbuild) - 由于 esbuild 将捆绑您的代码,因此它不会打包在您的 Lambda 中。

PS:最新版本的 hello-world-typescript 已经纠正了第 2 点中提到的问题。


Gor*_*son 6

我必须全局安装 esbuild 才能使其正常工作 npm install -g esbuild


小智 1

安装 esbuild,你可以使用 npm

npm install esbuild
Run Code Online (Sandbox Code Playgroud)