突然明白 npm install xxx 的业务实际用处
首发于 语雀文档
之前一直觉得 npm install xxx 很鸡肋,直接默认将依赖 xxx 加入 package.json 多好,像 yarn 一样,而不是需要自己再加命令行 --save。
我现在的情况:
内网机(只可以从淘宝镜像安装依赖),无法安装依赖 A(私有依赖,无法通过 npm install 安装),只好通过 npm-pack-all 在外网机中压缩依赖 A 成 tgz 文件,传入内网机进行离线安装。
离线安装的时候才发现,依赖 A 又依赖另一个依赖 B(也是私有依赖),此时问题来了,如果通过上述方式成功安装了依赖 B,安装依赖 A 时依旧会报错无法安装依赖 B(因为没有网,其实这里是我的一点小失误,后续通过另一种方式解决了)。
我想到的解决方式是:
在依赖 A 的 packa.json 中删除掉 依赖 B,此时离线打包安装应该是没问题的,成功后再进入项目中离线安装依赖 B,但是我又不希望依赖 B 它出现在 package.json 中(因为它是项目依赖的依赖,就不应该出现在项目的 package.json 中),所以这时就可以使用 npm install 依赖 B.tgz 进行离线安装啦。
不过依赖 A 作为项目的直接依赖,它离线安装时,应该是这样 npm install 依赖 A.tgz --save
本文只是大概讲述了一下在解决依赖问题过程所体会到的 npm install xxx 的作用,如果对具体过程有兴趣的同学,可以查看我的另一篇博客。
版权声明: 本文为 InfoQ 作者【blueju】的原创文章。
原文链接:【http://xie.infoq.cn/article/91e2495afcf65c702fd6f111c】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论