我开发一个模块发布到npm上面,它依赖了两个别人的模块,如何让别人安装的时候不要重复?说不明白,看图,谢谢~
发布于 9 年前 作者 LanceCong 4794 次浏览 最后一次编辑是 8 年前 来自 问答

我开发的模块依赖了redis模块,然后npm安装时候会一起安装redis模块。 如果用户也要用redis模块,那么他还要安装一次redis,这样,有了两个redis模块。 请问可以共用的吗? 无标题.png

4 回复

我想要的效果是,安装我的模块之后,会在用户项目的node_modules下安装redis模块

npm升级到3之后扁平化安装了

@ncuzp 也就是说用户升级到3之后,就是共用的了?

@LanceCong 是的,npm3是扁平安装的, 初次安装的模块都会直接放在node_modules目录下,注意这里说的是初次安装,如果后续安装中包含同样的模块的话就要考虑两次依赖的包的版本是不是一样,如果不一样那后面安装的包就不会直接安装在node_modules目录下了,而是安装在依赖包的目录下面,具体可以参考npm3 包安装策略

回到顶部