我正在进行一个项目,该项目涉及安装一些@types
。
npm install react react-dom typescript @types/react @types/react-dom --save
效果非常好。然而,当我在另一台机器上尝试git clone
和npm 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的一部分并强加给任何人!