“npm install”将所有依赖项安装在node_modules目录中,而不是将它们嵌套

2023-12-22

我需要知道以下行为是否正常。

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)的默认行为来再次嵌套目录:

  1. 删除当前存在的node_modules folder.

  2. 告诉 npm 在这一次安装中使用旧版捆绑包进行安装:

    npm install --legacy-bundling

“永久”替代方案:

  1. 将您的 npm 配置设置为始终使用旧版捆绑...

    npm set legacy-bundling=true

  2. ..并照常运行:

    npm install

Note:使用旧版捆绑获取依赖项将花费更多时间,因为将安装相同依赖项的许多不同版本。

免责声明:作为非 Windows 用户,我不需要平面依赖项,并且希望轻松找到自我声明的依赖项,以支持自动重复数据删除。由于在没有遗留捆绑的情况下安装 npm 依赖项已经花费了大量时间,因此我通常愿意花费额外的几分钟安装时间。在 Laravel Elixir 设置中,添加了 bootstrap(非 sass)、font-awesome 和 jquery,它从之前的 700 多个目录减少到 5 个(...)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“npm install”将所有依赖项安装在node_modules目录中,而不是将它们嵌套 的相关文章

随机推荐