我们在Azure Devops中有一个私有npm feed,与上游的npm公共注册表feed连接。
突然之间,这意味着从今天开始,当我们执行npm install指向来自项目的.npmrc(一如既往)或构建管道的feed时,没有明显更改项目依赖项和feed配置中的任何内容我们收到了HTTP 502错误,但仅适用于与cordova插件相关的那些软件包:
npm http request GET https://whatever.pkgs.visualstudio.com/_packaging/whatever_Framework/npm/registry/cordova-plugin-device
npm http 502 https://whatever.pkgs.visualstudio.com/_packaging/whatever_Framework/npm/registry/cordova-plugin-device
npm verb headers { 'cache-control': 'no-cache',
npm verb headers pragma: 'no-cache',
npm verb headers 'content-length': '310',
npm verb headers 'content-type': 'application/json; charset=utf-8',
npm verb headers expires: '-1',
npm verb headers p3p: 'CP="CAO DSP COR ADMa DEV CONo TELo CUR PSA PSD TAI IVDo OUR SAMi BUS DEM NAV STA UNI COM INT PHY ONL FIN PUR LOC CNT"',
npm verb headers 'x-tfs-processid': '6d54056f-814e-4ecc-be09-fc8da2fee13f',
npm verb headers 'strict-transport-security': 'max-age=31536000; includeSubDomains',
npm verb headers activityid: 'bd75fdde-c95e-43fb-b2dc-027987a8dcff, bd75fdde-c95e-43fb-b2dc-027987a8dcff',
npm verb headers 'x-tfs-session': 'bd75fdde-c95e-43fb-b2dc-027987a8dcff, bd75fdde-c95e-43fb-b2dc-027987a8dcff',
npm verb headers 'x-vss-e2eid': 'bd75fdde-c95e-43fb-b2dc-027987a8dcff',
npm verb headers 'x-content-type-options': 'nosniff',
npm verb headers 'x-msedge-ref': 'Ref A: E423128E5CA7484988185432137731E1 Ref B: LON21EDGE0419 Ref C: 2019-04-16T15:54:44Z',
npm verb headers date: 'Tue, 16 Apr 2019 15:54:43 GMT' }
npm verb stack Error: BadGateway A configured upstream registry failed: {Name = npmjs, Location = https://registry.npmjs.org/, Protocol = npm, UpstreamSourceType = Public ExceptionType = System.NullReferenceException, ExceptionMessage = Object reference not set to an instance of an object.}: _packaging
这很好奇,但仅对那些cordova插件的程序包失败,并且该项目具有更多的依赖项,这些依赖项可以被很好地解决(HTTP 200/304用于缓存的依赖项)
该问题所涉及的Cordova插件附带的npm模块的一些示例是:
"cordova-plugin-advanced-http": "1.11.1",
"cordova-plugin-app-version": "0.1.9",
"cordova-plugin-background-mode": "0.7.1",
"cordova-plugin-badge": "0.8.7",
"cordova-plugin-camera": "4.0.3",
"cordova-plugin-compat": "1.2.0",
"cordova-plugin-device": "2.0.2",
"cordova-plugin-file": "6.0.1",
"cordova-plugin-file-opener2": "2.0.19",
"cordova-plugin-geolocation": "4.0.1",
"cordova-plugin-hockeyapp": "5.1.2",
"cordova-plugin-ionic-webview": "1.2.1",
"cordova-plugin-network-information": "2.0.1",
"cordova-plugin-splashscreen": "5.0.2",
"cordova-plugin-statusbar": "2.4.2",
"cordova-plugin-whitelist": "1.3.3",
"cordova-sqlite-storage": "2.3.2",
如果我们直接指向npm公共注册表(不通过私有提要),则一切正常,没有HTTP 502错误,并且npm安装过程完成,所以似乎仅当我们通过私有安装依赖项时才会发生提要。
看起来像Azure DevOps和NPM公共注册表之间的通信问题,但是..仅适用于Cordova插件模块?奇怪的事情...最近有人遇到这个奇怪的问题吗?谢谢。