npm5.5.1 好坑啊!
坑的原因是 package-lock.json
这货的目的很棒,可以把依赖固定死,但是,这货貌似也要求安装环境强一致!只要有一点不一样都不行!导致我明明在本地能构建成功,但是在服务器构建时却会失败。
最后在~/.npmrc 中把npm的配置加上 package-lock=false ,不理它了!
15 回复
@atian25 只要不提交到git 里面去 生产环境pull的时候没拉到lock。install的时候会在生产服务器上面自己生成自己的lock 这样和本地的lock没多大关系吧。 如果在有docker的情况下 那样会隔离的更彻底
@alsotang tnpm 本身也是不支持这个 lock 的,但在维护 egg 的时候,社区的人没办法~ 所以最近我正痛苦着,每次说重新安装依赖的时候,都要婆婆妈妈的说一句「记得不要锁版本」,现在哟这个一劳永逸的方法,就好多了。
这玩意可以确定通过测试的 依赖库版本和生产环境的保持一致, 不然测试没问题,上线因为依赖库出问题那就哭了。
避免 "我的电脑是正常的" 的问题