将package.json更改为node_modules中的内容

时间:2019-07-15 15:00:42

标签: javascript npm package.json

我刚得到一个别人在做的项目。当我复制它时,我必须复制node_modules文件夹,否则它不起作用。有没有一种方法可以根据package.json目录中的内容更新node_modules

3 个答案:

答案 0 :(得分:1)

这两个步骤是向后的。 node_modules/不应签入Git或从一台计算机共享到另一台计算机。它只是package.json中内容的表示。该文件而非目录是JavaScript依赖项的真实来源。如果您的项目并非如此,则必须先对其进行修复,然后才能对其进行任何工作。

首先,删除node_modules

$ rm -rf node_modules

或者,根据每个rcdmk's答案,将其重命名,以便您参考其中的内容:

$ mv node_modules node_modules_backup

然后,使用您选择的CLI工具从package.json重新创建它:

$ npm install  # npm
$ yarn install # yarn

最后,解决由新依赖项引起的代码中的所有问题。这些将作为错误显示在服务器日志,浏览器控制台或构建输出中。如果您创建了node_modules_backup,请将那里的子目录与新的node_modules进行比较,以查看缺少的内容。

答案 1 :(得分:1)

正如其他人指出的那样,问题已经存在,解决该问题的一种方法是重命名node_modules文件夹,运行npm installyarn install,然后尝试执行该应用程序并找出丢失的依赖项。

如果您在旧的tree中运行node_modules命令并将其与新的tree命令输出进行比较,则可以更清楚地了解缺少的内容。您无需添加所有差异,只需添加顶级差异即可。

您可以tree(如果是Windows,则为ls -1,而不是dir /d /b

答案 2 :(得分:0)

在npm中,package.json会生成node_modules,而不是相反。您应该获得具有所有依赖项的package.json并运行npm install