首页 > 解决方案 > npm install 在 Elastic Beanstalk 上省略文件夹

问题描述

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

我在这里有一个 AWS Elastic Beanstalk 设置,我正在调用eb deploy它来部署 KeystoneJS cms 应用程序。作为部署的一部分,它运行npm install,并且我有一个应该安装的 keystone github repo 的自定义 fork/branch。确实如此!但是由于某些莫名其妙的原因/lib/core/,Keystone 回购只是......不在那里。我收到抱怨那些丢失文件的错误,果然整个文件夹都不存在。它们只是没有安装 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 repo 安装keystone: "keystonejs/keystone",它们不存在。这再次只是在 eb 安装上,如果我在本地执行它们,核心文件会同时显示。但是在 eb 上,当我从 git url 安装时,我需要为我的特定 fork/branch 安装,我看到了这个问题。

标签: amazon-web-servicesnpm-installamazon-elastic-beanstalkkeystonejs

解决方案


嗯,我想通了!

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

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


推荐阅读