我已将问题缩小到操作系统npm运行。我目前在OSx上。当我在本地计算机上运行npm install
时,它会创建一个新的锁定文件。当我将该lockfile推送到生产并在生产中运行npm install
时,它会修改package-lock.json
文件。
但是,如果我将它安装在我的Vagrant Ubuntu计算机上并将其推送到生产服务器(Ubuntu),则package-lock.json
仍未修改。如何才能使其在操作系统中保持一致?
编辑:主机,虚拟机和生产服务器上的npm版本为5.3.0。
最初在Mac OSx上运行时package-lock.json
的差异,然后在Ubuntu计算机上运行npm install
:https://paste.laravel.io/0MGNa
答案 0 :(得分:2)
改为使用Yarn。
这是使用npm的常见绘图点,除了不使用npm之外,目前没有其他解决方案。纱线没有这个问题。见https://github.com/npm/npm/issues/17722
答案 1 :(得分:2)
现在,在2018年, - no-save选项将避免修改lockfile:
npm install --no-save
从npm版本v5.7.1开始:
npm ci