【问题标题】:npm install on Elastic Beanstalk omitting foldersnpm install 在 Elastic Beanstalk 上省略文件夹
【发布时间】:2019-07-15 00:59:24
【问题描述】:

这只是今晚才开始发生,即使在恢复我完全不与 npm 相关的更改之后,它仍在发生。

我在这里设置了 AWS Elastic Beanstalk,我正在调用 eb deploy 来部署 KeystoneJS cms 应用程序。作为部署的一部分,它运行npm install,并且我有一个应该安装的keystone github repo 的自定义fork/branch。确实如此!但是由于某些莫名其妙的原因,Keystone 存储库中的/lib/core/ 只是......不在那里。我收到抱怨那些丢失文件的错误,果然整个文件夹都不存在。它们只是没有安装 npm,尽管 Keystone 存储库的其余部分安装得很好。

我无法在本地重现此内容。我将运行npm install,它会添加该文件夹。我会做npm install <my-fork>,它会添加文件夹。每个组合在本地都运行良好,并且我在过去对 EBS 所做的每次部署都运行良好。直到今晚,这个文件夹才停止出现在我的安装中。

Elastic Beanstalk 有问题吗?是 npm 的问题吗?我确保将我的本地 npm 版本 (6.8.0) 与 EB 同步,没有区别。我已经检查以确保我没有任何 .ebignore.npmignore.gitignore 可能会以某种方式阻止 core 文件夹,什么都没有。除非有人秘密控制第一次安装到的临时文件夹?我不知道为什么这会突然成为一个问题,而不是几周前。

有人遇到过这种情况吗?

[编辑] 对于一些额外的细节,将我的 package.json 中的 keystone 版本更改为 keystone: "4.0.0" 可以让我获得这些核心文件。如果我直接从关联的 keystone 存储库keystone: "keystonejs/keystone" 安装,它们不存在。这再次只是在 eb 安装上,如果我在本地执行它们,核心文件会同时显示。但是在 eb 上,当我从 git url 安装时,我需要为我的特定 fork/branch 安装,我看到了这个问题。

【问题讨论】:

    标签: amazon-web-services npm-install amazon-elastic-beanstalk keystonejs


    【解决方案1】:

    好吧,我想通了!

    https://npm.community/t/npm-pack-leaving-out-files-6-8-0-only/5382

    有人破坏了 npm 6.8.0。让我的故事成为一个警示,不要将您的部署脚本设置为自动更新 npm 到最新版本。

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 2018-04-12
      • 2017-11-09
      • 2015-04-06
      • 2018-06-04
      • 2020-05-30
      • 2017-05-12
      • 2016-02-06
      • 2019-01-13
      相关资源
      最近更新 更多