我需要知道以下行为是否正常。
When I npm install
,我的每个包裹包.json和依赖项,不要安装nested不再如此,但每个依赖项都安装在node_modules
目录。这使得我的node_modules
目录被炸毁,如下所示:
自从我更新了 npm 和 node 后就发生了这种情况。
现在我运行:
npm -v 3.3.6
node -v 4.2.1
python 2.7
windows 7
wamp
My package.json
文件看起来像这样:
{
"private": true,
"devDependencies": {
"gulp": "^3.8.8"
},
"dependencies": {
"laravel-elixir": "^3.0.0",
"bootstrap-sass": "^3.0.0"
}
}
这是标准的 Laravelpackage.json
file.
有没有办法再次嵌套目录,因为我不喜欢这种有超过 100 个子目录的文章。
Update:正如 Erik Pukinskis 在评论中提到的:
从 npm 3.5 开始,支持--legacy-bundling
已被删除。
是的,有一种方法可以通过更改 npm(撰写本文时的版本 3)的默认行为来再次嵌套目录:
删除当前存在的node_modules
folder.
-
告诉 npm 在这一次安装中使用旧版捆绑包进行安装:
npm install --legacy-bundling
“永久”替代方案:
-
将您的 npm 配置设置为始终使用旧版捆绑...
npm set legacy-bundling=true
-
..并照常运行:
npm install
Note:使用旧版捆绑获取依赖项将花费更多时间,因为将安装相同依赖项的许多不同版本。
免责声明:作为非 Windows 用户,我不需要平面依赖项,并且希望轻松找到自我声明的依赖项,以支持自动重复数据删除。由于在没有遗留捆绑的情况下安装 npm 依赖项已经花费了大量时间,因此我通常愿意花费额外的几分钟安装时间。在 Laravel Elixir 设置中,添加了 bootstrap(非 sass)、font-awesome 和 jquery,它从之前的 700 多个目录减少到 5 个(...)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)