node_modules在任何项目文件夹之外的多个目录中

问题描述 投票:0回答:2

我已经阅读了很多关于StackOverflow的文章来理解node_modules,其中没有与我有相同的“问题”。这不是一个大问题,因为节点仍然正常工作。但问题是,我不喜欢有不必要的文件或错误的文件结构。

我正在使用macOS btw。

我了解到,当您全局安装节点模块时,它们将进入此文件路径:

在/ usr / local / lib目录/ node_modules

但我还在此路径中找到了另一个node_modules:

〜/ node_modules

我可以简单地删除这个node_modules吗?编辑

^这是我要问的主要问题,如果我可以删除不在usr / local / lib / ..里面的node_modules,也不删除任何项目文件夹。

另外我想我明白,即使你将node_modules全局安装到第一个路径,如本文所述,我仍然需要在我的项目文件夹中安装node_modules。

那么在全局安装node_modules有什么用呢?

我可以删除这两个路径并仅在项目文件夹中安装node_modules吗?这会更有益吗?

当我将包含node_modules的项目文件夹移动到另一个磁盘时,我也注意到了。此文件夹的文件大小增加了荒谬的数字。这与全局安装node_modules有什么关系吗?

编辑

当我将项目文件从Disk1传输到Disk2时,我无法将任何项目文件移回Disk1,因为该文件夹的文件大小增加了很多。我正在谈论将12个项目从Disk1移动到Disk2,但每个项目文件夹变得大2倍,因为这12个项目文件夹组合在一起。 Disk1有250GB的空间。 Disk2有1TB的空间。移动那些项目文件夹填充我的Disk2 80%的空间,当我看到这种情况发生时我迷失了自己的想法。有没有人对此发生任何解释?

node.js npm path node-modules filepath
2个回答
0
投票

本地npm包安装会将node_modules放在该本地位置。全局节点包通常是您希望在多个项目中全局使用的包,或者它们包含CLI命令(这些包是为您提供命令行界面的包)。

您应该通过package.json文件管理项目的本地包,通过npm管理全局包(使用npm install,uninstall etc ...)。当您移动项目或将其提交到git时,忽略node_modules文件夹(您可以随时删除本地node_modules文件夹),因为当使用package.json文件中的信息运行npm install时它将重新生成。


0
投票

虽然node_module是一个包含所有依赖项的大文件,但有时可以在本地导入并且在全局导入时工作正常。本地导入可以使您的项目结构高效,用户可以查看其他第三方软件包,本地管理软件包对您的项目也有好处。你导入的。并且正如@noobius所说,你可以在将文件上传到git时忽略它,因为当使用package.json文件中的信息运行npm install时它将被重新生成。如果有帮助就Upvote

© www.soinside.com 2019 - 2024. All rights reserved.