当 node_modules 在父文件夹中时,aws "serverless invoke local" 无法 运行

aws "serverless invoke local" fails to run when node_modules are on a parent folder

我在许多其他应用程序的上下文中有一个无服务器 aws 应用程序。所有 node_modules 都在一个父文件夹中共享,并且它适用于部署和调用函数,而不是调用本地。这是我的结构:

main/
 - node_modules
 - serverless
     - app1
     - app2
         - serverless.yml

serverless.yml 文件设置:

package:
       include:
           - ../../node_modules/**

问题是每当我尝试 运行 sls invoke local 时,我都会收到一条错误消息,因为找不到包。因此,解决方法是 npm install --save 我路径之外的每个包。

如果您找到了解决方案,而不是解决方法(例如我的),请分享 :)。

很明显我想删除我的问题,但我会在这里留下答案>

只需转到包含您的 node_modules 的文件夹,您会在那里找到 package.json,运行 npm install --save 用于您需要的新包。

cd ../../
npm install --save missing_packages

您的 serverless.yml include 应该在 运行ning local 没有问题时考虑它。 中提琴!