如何在项目中使用自定义版本的npm包?

时间:2018-05-29 13:19:30

标签: node.js npm npm-publish

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

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

我让Primus的维护者改变了它,但是它太慢了。 所以我forked Primus,我用好的文件替换了错误的文件。

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

我不知道在这种情况下的良好做法是什么,我能想到的唯一解决方案是npm-publish我的修改后的包以不同的名称,如amplement-primus,然后You can check here 1}}将其插入我的项目中。我不知道它打破了npm的规则。

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

2 个答案:

答案 0 :(得分:1)

您可以使用forked repo来安装软件包。

喜欢:

npm install github_url_of_your_repo

更多详情:

请参阅this

答案 1 :(得分:1)

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

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