这只是今晚才开始发生的,即使还原了我与npm完全无关的更改,它仍然在发生。
我这里有一个AWS Elastic Beanstalk设置,我在这里调用eb deploy
来部署KeystoneJS cms应用程序。作为部署的一部分,它运行npm install
,我有一个应该安装的梯形github存储库的自定义fork / branch。确实如此!但是出于某种无法解释的原因,Keystone存储库中的/lib/core/
只是...不存在。我在抱怨那些丢失的文件时遇到错误,并且确定没有整个文件夹。尽管没有安装Keystone存储库的其余部分,但它们尚未安装npm。
我无法在本地复制。我将运行npm install
,它将添加该文件夹。我将执行npm install <my-fork>
,它将添加文件夹。每个组合在本地都可以正常工作,我在PAST中对EBS所做的每个部署都可以正常工作。直到今晚,此文件夹才停止在我的装置中显示。
Elastic Beanstalk是否有问题? npm有问题吗?我已经确保将本地npm版本(6.8.0
)与EB版本同步,没有区别。我已检查以确保没有任何可能以某种方式阻止.ebignore
文件夹的.npmignore
或.gitignore
或core
,什么也没有。除非有一个秘密控制临时文件夹首先安装的临时文件夹?我不知道为什么没几个星期前突然变成一个问题。
有人经历过这样的事情吗?
[编辑]有关其他更多信息,将我的package.json中的梯形失真校正版本更改为keystone: "4.0.0"
可以使那些核心文件正常。如果我直接从关联的梯形存储库keystone: "keystonejs/keystone"
安装,则它们不存在。再次在eb安装程序中,如果我在本地进行安装,则会同时显示这两个文件的核心文件。但是在eb上,当我从git url安装时(对于特定的fork / branch需要安装),我看到了这个问题。
答案 0 :(得分:0)
好吧,我知道了!
https://npm.community/t/npm-pack-leaving-out-files-6-8-0-only/5382
有人破解了npm 6.8.0。让我成为一个警告,不要将您的部署脚本设置为将npm自动更新到最新版本。