为了节省空间,我在所有项目的公共父目录中安装了大型软件包。这些项目中的脚本可以引用此父目录中的模块(请参阅Node\ 的文档),但npm install
在新克隆的项目中 -ing 会拉取所有内容,而不仅仅是项目在继承的项目之上需要的模块来自共同的父母。是否有任何选项可以npm install
只下载需要的内容?
最小示例:考虑以下文件结构。
\n\n\xe2\x94\x9c projects\n\xe2\x94\x82 \xe2\x94\x9c package.json <- specifies a dependency on `some_module^1.0.0`\n\xe2\x94\x82 \xe2\x94\x9c node_modules\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94 some_module\n\xe2\x94\x82 \xe2\x94\x82 \xe2\x94\x94 ...\n\xe2\x94\x82 \xe2\x94\x94 some_project\n\xe2\x94\x82 \xe2\x94\x94 package.json <- also specifies a dependency on `some_module^1.0.0`\n
Run Code Online (Sandbox Code Playgroud)\n\n如果npm install
运行在projects/some_project
,它将下载some_module
无条件下载。
(注:这与npm dedupe
,因为这只是一个目录层次结构:父目录项目不依赖于任何子文件夹。)