我在ngx-mask软件包中进行了一些自定义修改,需要在本地进行测试。
如何覆盖已安装的npm软件包?
当前,该软件包在packages.json文件中被声明为依赖项,如下:
"ngx-mask": "^7.8.9"
如果可能的话,我宁愿不要分叉原始软件包,也不要为此使用github。
答案 0 :(得分:4)
在您的测试存储库(您使用ngx-mask包的地方)运行:
npm link /path/to/your/locally/modified/ngx-mask/package
这会将您本地修改的 ngx-mask 安装到您的 test 存储库中。
当您完成对 ngx-mask 包的本地版本的测试后,您可以简单地取消链接。要取消链接 ngx-mask 的本地版本,请在您的 test 存储库中运行:
npm unlink --no-save /path/to/your/locally/modified/ngx-mask/package
如果要重新安装 ngx-mask 包的 registry 版本,请运行:
npm install
答案 1 :(得分:1)
如果在计算机上进行了这些更改。 (我假设你有)
运行您更改过的build
程序包中的ngx-mask
。
然后导航到dist
/编译后的输出文件夹所在的任何位置。
然后在该文件夹中运行npm pack
。这将使用您的自定义修改为您的软件包创建一个.tgz
压缩文件。
然后将该文件放入项目的根目录(您可以将其放在任何位置,但使用root可以使事情变得容易)
然后在您的package.json
中将版本号ngx掩码替换为以下"ngx-mask": "file:my-packed-file.tgz"
现在使用新的npm install
运行package.json
,现在应该将已修改的副本作为依赖项加载到node_modules
中。