首页 > 解决方案 > 如何在我的项目中使用自定义版本的 npm 包?

问题描述

我在我的项目中使用Primus 。Primus 是我使用的 sockjs 等 websockets 库的包装器。

在服务器启动时,primus 创建一个脚本,然后我们的客户端将下载该脚本,作为套接字的客户端部分。该脚本嵌入了 sockjs 的源代码。问题,它使用 1.1.2 版本的 sockjs,其中包含一个错误,已在 1.1.4 版本中修复,但尚未在 Primus 中。

我要求 Primus 的维护人员对其进行更改,但是这样做太慢了。所以我分叉了 Primus,并用好的文件替换了错误的文件。

现在,我想使用这个包而不是当前在我的 package.json 中声明的错误包。

我不知道在这种情况下有什么好的做法,我能想到的唯一解决方案是以不同的名称npm-publish我修改过的包,例如 amplement-primus,然后npm install --save amplement-primus将其插入我的项目中。我不知道它违反了 npm 的规则。

您认为这是一个好主意,还是您有更好的想法?谢谢 !

标签: node.jsnpmnpm-publish

解决方案


我使用项目的github url在package.json中引用它:

  "dependencies": {
    "primus": "git+https://github.com/amplement/primus.git",
    "sockjs": "^0.3.19"
  },

推荐阅读