如何更好地管理和处理 npm 相关依赖及更新?

2016-04-27 13:13:05 +08:00
 imjeen

由于国内外的网络问题,可以通过 cnpm 替代 npm 安装依赖包。

npm@3 版本 已进行完全重写了。

Flat, flat, flat!

不同于 npm@2 , npm@3 安装所依赖包会最大限度地偏平化。详见更多官方版本说明

npm outdated 来查看依赖包版本可更新状态。

npm update 升级依赖包,同时 npm 可以自身升级 npm i npm -g


那么,问题来了。

不可能每次每个项目都分别 npm install 重复的依赖包,可以放置在全局使用。

那该如何更好地管理全局依赖包?同时更新也会带来不兼容的问题,有些依赖包安装在全局这样做好吗?

当然局部可以再次安装全局的依赖包,那么如果有局部依赖包,就没使用到全局依赖包。

随着项目(包括处理服务端和客户端对文件和资源)的膨胀和复杂度增大,以及项目增多,处理 npm install 依赖包 时,我们真的需要停下来思考。


以上是个人的一点点思考和疑虑,有更多意见和建议,欢迎提出来,我们一起来探讨。

更重要的是,并不是什么都要依赖包。 left-pads 事件已经再次警告我们要处理好依赖。

3769 次点击
所在节点    Node.js
3 条回复
atian25
2016-04-29 13:01:01 +08:00
- 全局依赖肯定是不可行的, 每个项目需要的依赖版本不一致
- 阿里这边的实践是, 用死马写的 autod 小工具来更新
- 有个 npmcheck 也是类似的功能.
atian25
2016-04-29 13:01:46 +08:00
安装速度方面, 苏千的 npminstall 库, 能提速非常多.
imjeen
2016-05-03 12:34:28 +08:00
@atian25 国内安装依赖包时的下载速度确实是个问题。

目前基本都是局部依赖包,同时对必要的依赖包进行更新, push 到 git 仓库后,相关的成员也要手动更新&重新安装。

我的想法是能想把项目依赖包安装到开发人员共享的服务器上,这样不必每个人都手动操作。

就像 `npm link` 一样把全局依赖包 link 到局部上,那么全局的变动同时也会反映到局部上。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/274772

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX