首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何排除对nodejs使用AWS "sam“的模块?

如何排除对nodejs使用AWS "sam“的模块?
EN

Stack Overflow用户
提问于 2019-03-16 17:08:17
回答 2查看 2.9K关注 0票数 5

使用sam build命令,我希望不包括aws-sdk包,因为Node.js Lambda运行时已经包含了它。

据我所知,nodejs的sam build是来自claudiajsclaudia pack命令端口,但在运行sam build --help时没有看到任何--no-optional-dependencies标志。

我尝试将aws-sdk安装为一个可选的依赖项,但仍然包括在内。

是否有一种方法可以使用node_modules命令从sam build目录中排除依赖项?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-11 22:38:52

通过我的实验,我找到了几个选择:

  1. 将aws安装为dev依赖项
代码语言:javascript
复制
npm i -D aws-sdk
  1. 将aws作为可选依赖项安装,然后使用.npmrc文件禁用npm安装上的可选延迟。
代码语言:javascript
复制
npm i -O aws-sdk
代码语言:javascript
复制
# .npmrc
optional = false

我的文件夹结构如下所示:

代码语言:javascript
复制
-- project
   |-- lambdas
   |   |-- lambda1
   |   |   |-- node_modules
   |   |   |   `-- ...
   |   |   |-- .npmrc
   |   |   |-- index.js
   |   |   |-- package-lock.json
   |   |   `-- package.json
   |   `-- lambda2
   |       |-- node_modules
   |       |   `-- ...
   |       |-- .npmrc
   |       |-- index.js
   |       |-- package-lock.json
   |       `-- package.json
   |-- package-lock.json
   |-- package.json
   `-- template.yml

在这两个实例中运行sam构建包,对我来说没有不想要的依赖项。

票数 3
EN

Stack Overflow用户

发布于 2021-08-10 12:51:50

McShaman答案对NPM 6有效。

NPM配置已在NPM 7中更改--“可选”已被删除。

您应该使用“省略”来忽略可选依赖关系:

https://docs.npmjs.com/cli/v7/using-npm/config#omit

代码语言:javascript
复制
# .npmrc
omit=optional
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55199370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档