首页 > 解决方案 > 您可以强制从 GitHub 拉取请求安装 npm 子依赖项吗?

问题描述

我正在安装geofirestore需要geofirestore-core.

geofirestore-core 在尚未合并的拉取请求中修复了一个错误。如何强制我安装geofirestore的版本使用geofirestore-core拉取请求中的版本,而不是在 NPM 中注册的版本?

按照这里的答案,如何覆盖嵌套的 NPM 依赖版本?,我采取了以下步骤来使用shrinkwrap

  1. npm shrinkwrap
  2. 更新了geofirestore-core指向MarcARoberge/geofirestore-core#feat-firebase8
  3. 又跑npm install了;

不幸的是,这只是覆盖了我在收缩包装中的更新版本我做错了什么?

// npm-shrinkwrap.json
"geofirestore": {
  "version": "4.3.0",
  "resolved": "https://registry.npmjs.org/geofirestore/-/geofirestore-4.3.0.tgz",
  "integrity": "sha512-NFaOm6BSwAGU+HuYR11St5LgJ67LRYUeeKiF7iPs5/gJgHrpnbFxqe2t3jAW13jpAeoLHnxEoQsPyt94JpZCAw==",
  "requires": {
     // user/repo#branch point to pull request 
     "geofirestore-core": "MarcARoberge/geofirestore-core#feat-firebase8"
   }
},

标签: javascriptnode.jsnpmgeofirestore

解决方案


我最终克隆了依赖项,更新了它的 package.json 以指向固定的 repo,并将我的本地依赖项指向 GitHub 上的克隆版本。


推荐阅读