为什么 Grunt 在 node_modules 中安装这么多文件夹?
Why is Grunt installing so many folders in node_modules?
我很长一段时间以来第一次使用 g运行t,我的直觉是我用错了。当我 运行 npm install grunt --save-dev
时,我的 npm_modules 文件夹中加载了数十个文件夹(准确地说是 87 个)。我的期望以及我在观看教程时看到的是应该添加一个名为 g运行t 的文件夹。类似地,当我尝试添加 uglify 插件 (npm install grunt-contrib-uglify --save-dev
) 时,我将额外的 31 个文件夹添加到 node_modules。我记得只得到一个带有插件名称的文件夹。我正在使用:
npm 版本 3.9.3
g运行t 版本 1.0.1
OSX Yosemite 10.10.5
package.json
{
"name": "myapp",
"version": "1.0.0",
"description": "the description",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "Me",
"license": "MIT",
"devDependencies": {
"grunt": "^1.0.1",
"grunt-contrib-uglify": "^1.0.1"
}
}
非常感谢任何帮助。谢谢
您正在使用 flattens the dependencies 的 NPM 版本 3。您已安装的模块的依赖项也可以安装在您的 node_modules 文件夹下。您可以将其与 Bower 处理瞬态依赖项的方式进行比较。
来自文档:
While npm2 installs all dependencies in a nested way, npm3 tries to mitigate the deep trees and redundancy that such nesting causes. npm3 attempts this by installing some secondary dependencies (dependencies of dependencies) in a flat way, in the same directory as the primary dependency that requires it.
因此,这种行为是意料之中的,您没有做错任何事情。
如果您仍然是 运行 NPM 版本 2,您可能已经注意到它显示了有关此依赖项解析更改的警告消息:
The peer dependency phantomjs-prebuilt@>=1.9 included
from karma-phantomjs-launcher will no longer
be automatically installed to fulfill the peerDependency in npm 3+. Your application will need to depend on it explicitly.
我很长一段时间以来第一次使用 g运行t,我的直觉是我用错了。当我 运行 npm install grunt --save-dev
时,我的 npm_modules 文件夹中加载了数十个文件夹(准确地说是 87 个)。我的期望以及我在观看教程时看到的是应该添加一个名为 g运行t 的文件夹。类似地,当我尝试添加 uglify 插件 (npm install grunt-contrib-uglify --save-dev
) 时,我将额外的 31 个文件夹添加到 node_modules。我记得只得到一个带有插件名称的文件夹。我正在使用:
npm 版本 3.9.3
g运行t 版本 1.0.1
OSX Yosemite 10.10.5
package.json
{
"name": "myapp",
"version": "1.0.0",
"description": "the description",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "Me",
"license": "MIT",
"devDependencies": {
"grunt": "^1.0.1",
"grunt-contrib-uglify": "^1.0.1"
}
}
非常感谢任何帮助。谢谢
您正在使用 flattens the dependencies 的 NPM 版本 3。您已安装的模块的依赖项也可以安装在您的 node_modules 文件夹下。您可以将其与 Bower 处理瞬态依赖项的方式进行比较。
来自文档:
While npm2 installs all dependencies in a nested way, npm3 tries to mitigate the deep trees and redundancy that such nesting causes. npm3 attempts this by installing some secondary dependencies (dependencies of dependencies) in a flat way, in the same directory as the primary dependency that requires it.
因此,这种行为是意料之中的,您没有做错任何事情。
如果您仍然是 运行 NPM 版本 2,您可能已经注意到它显示了有关此依赖项解析更改的警告消息:
The peer dependency phantomjs-prebuilt@>=1.9 included from karma-phantomjs-launcher will no longer be automatically installed to fulfill the peerDependency in npm 3+. Your application will need to depend on it explicitly.