为什么在我已经拥有node_module文件夹中的所有依赖项时,必须运行'npm install'。
在我的机器上成功运行'npm install'后,我想在另一台机器上设置相同的项目,为什么我已经在node_module文件夹中下载了所有依赖项后再次运行'npm install'?
答案 0 :(得分:1)
npm install
从package.json中提取所有依赖项,下载并将它们保存在node_modules文件夹中。如果您已经在本地安装了所有依赖项,则无需一次又一次地运行npm install。
当您安装新的依赖项时,您首次运行npm install <package-name> --save
以及为什么--save
?因为它在package.json上添加了新安装的依赖项。我们永远不会将node_modules推送到我们的git repo,只有更新的package.json被推送到repo。在这种情况下,如果一个新人从repo中提取你的代码,他只会运行npm install
并且你的package.json上提到的所有依赖项将在他的项目本地可用。这是一个关于为什么我们使用package.json的小介绍希望它有所帮助。
答案 1 :(得分:1)
首先,我想告诉你两件事:
npm install package -g
安装某个软件包时,-g会将其安装在可由任何项目访问的全局文件夹中。通过使用-g,package不会添加到node_modules。现在回答你的问题。可能有一些软件包的依赖项在一台机器上安装为全局,而在另一台机器上安装。这可能发生在开发人员在同一台机器上处理许多项目时,可能他们已经安装了全局包。因此,在这种情况下,您需要执行npm install
命令。
答案 2 :(得分:0)
检查两个系统中的节点版本。
我想这就是问题。你本地系统的版本要比服务器高。
可能无法为更高版本编译,确保两者中的节点版本相同,以减少冲突。