在我的nodejs项目中,我必须修改4个节点模块并将其上传到我们的私有公司注册表中,这样该项目才能在构建期间下载修改后的版本。我是通过更改虚拟npm注册表中每个依赖项的resolved
中的package-lock.json
字段来实现的,该字段将下载内容转发到公共npm注册表,再转发到私有注册表。
这对4个模块中的3个有效,但是1个模块phantomjs-prebuilt
不会下载我上载的模块。在安装后查看其package.json时,其_resolved
字段显示了我在package-lock.json
中输入的正确的私有注册表,但是该模块没有我的修改。
如果我创建一个具有package.json
作为其唯一依赖项的phantomjs-prebuilt
的测试项目,并修改锁定文件以从私有注册表中下载,它将下载我上载的正确的修改后的版本。我假设必须有一些覆盖它的可传递依赖项,但是我认为我可以从锁定文件中看到并覆盖它。 phantomjs-prebuilt
在锁定文件中仅出现一次,这就是我对resolved
字段进行更改的地方。