我有一个package.json文件,在我的项目中有大约20个依赖项。当我这么做
npm install它将所有依赖项和子依赖项放在最上面的node_modules目录中。它包含数百个模块,而它只应该是我的20个模块。子依赖项应该在我的主要依赖项下的node_module目录中,但是它已经创建了一个扁平的结构。
我在Ubuntu 14.04上使用npm 3.5.4和节点0.10.41
有谁能帮助我像正确的树结构那样安装模块吗?
编辑-添加我的packages.json文件:
{
"name": "lms",
"version": "1.0.0",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"license": "ISC",
"dependencies": {
"aliasify": "^1.8.0",
"angular": "^1.4.7",
"angular-animate": "^1.4.7",
"angular-aria": "^1.4.7",
"angular-material": "^0.11.4",
"angular-resource": "^1.4.7",
"angular-ui-router": "^0.2.15",
"angular-ui-sortable": "^0.13.4",
"backbone": "^1.2.3",
"bootstrap": "^3.3.5",
"browser-sync": "^2.9.12",
"browserify": "^12.0.1",
"browserify-ngannotate": "^1.0.1",
"del": "^2.1.0",
"eslint": "^1.8.0",
"eslint-config-defaults": "^7.1.1",
"font-awesome": "^4.5.0",
"gulp": "^3.9.0",
"gulp-clean": "^0.3.1",
"gulp-concat": "^2.6.0",
"gulp-connect": "^2.2.0",
"gulp-connect-php": "0.0.7",
"gulp-eslint": "^1.1.1",
"gulp-minify-css": "^1.2.1",
"gulp-ng-annotate": "^1.1.0",
"gulp-open": "^1.0.0",
"gulp-sass": "^2.1.0",
"gulp-uglify": "^1.4.2",
"jquery": "^2.1.4",
"jquery-ui": "^1.10.5",
"lodash": "^3.10.1",
"merge-stream": "^1.0.0",
"ng-backbone": "file:local_node_modules/ng-backbone",
"vinyl-buffer": "^1.0.0",
"vinyl-source-stream": "^1.1.0"
},
"browserify": {
"transform": [
"aliasify"
]
},
"aliasify": {
"aliases": {
"underscore": "lodash"
}
}
}发布于 2016-01-03 09:58:03
这是故意的行为。由于版本3,npm尝试去复制依赖项,并尽可能使用平坦的树。
https://stackoverflow.com/questions/34572863
复制相似问题