node.js - 如何在我的项目中使用自定义版本的 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 的规则。
您认为这是一个好主意,还是您有更好的想法?谢谢 !
解决方案
我使用项目的github url在package.json中引用它:
"dependencies": {
"primus": "git+https://github.com/amplement/primus.git",
"sockjs": "^0.3.19"
},
推荐阅读
- php - 从 stdClass 对象获取值不起作用
- c++ - C++20 概念:int not swappable_with int
- svn - SVN更改WC url,本地文件不变
- linux - systemd - 如何从系统服务访问当前用户名?
- .net - 为什么 DestinationFiles 和 SourceFiles 引用不同数量的项目?
- php - PHP电子表格在浏览器中下载xlsx
- azure - 从其中一张表中查询和排序数据 (Azure Log Analytics)
- verilog - 非法引用的 JK_FF 计数器错误
- python-3.x - 我想在水平循环中回答 tkinter 中的期望空间数
- kotlin - 元数据依赖中的生成类(使用 kapt)