克隆和安装涉及typescript"@types"的项目的正确方法是什么



我正在进行一个项目,该项目涉及安装一些@types

npm install react react-dom typescript @types/react @types/react-dom --save

效果非常好。然而,当我在另一台机器上尝试git clonenpm install项目时。。。它不安装任何@types,实际上只是将它们从package-lock.json中删除。克隆和安装此项目的正确方法是什么?

有趣的是,我发现package.json实际上完全缺少@types!似乎只有package-lock.json单独提到了它们!!因此,当我运行npm install时,它们只是从package-lock.json中删除,因为它们不存在于package.json中。

然而,这让我重新评估package-lock.json是否应该作为git存储库的一部分包括在内。如果不是package-lock.json,我就不会有@types已经是package.json的一部分的错误印象。此外,不同的机器有不同的软件组成,并且可能有不同的依赖版本要求。致";锁定";这些依赖关系在特定版本上是不必要的,然后试图将这些依赖关系强加给不同的操作系统设置。。。只是不再有意义了。

package.json被克隆时,npm install应该能够找出正确的package-lock.json版本,并无论如何重新生成它!在正常情况下,我不再明白为什么package-lock.json应该是git的一部分并强加给任何人!

最新更新