[英]`npm audit` keeps returning "Your configured registry (https://registry.npmjs.org/) does not support audit requests.". How do I make it work again?
這是我得到的錯誤:
npm ERR! code ENOAUDIT
npm ERR! audit Your configured registry (https://registry.npmjs.org/) does not support audit requests.
使用日志文件:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'audit' ]
2 info using npm@6.4.1
3 info using node@v10.12.0
4 verbose npm-session 65e7a3436fc1253b
5 timing audit compress Completed in 25ms
6 info audit Submitting payload of 217372 bytes
7 http fetch POST 503 https://registry.npmjs.org/-/npm/v1/security/audits 13252ms
8 verbose stack Error: Your configured registry (https://registry.npmjs.org/) does not support audit requests.
8 verbose stack at Bluebird.all.spread.then.catch (/usr/local/lib/node_modules/npm/lib/audit.js:172:18)
8 verbose stack at tryCatcher (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
8 verbose stack at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:512:31)
8 verbose stack at Promise._settlePromise (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:569:18)
8 verbose stack at Promise._settlePromise0 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:614:10)
8 verbose stack at Promise._settlePromises (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:689:18)
8 verbose stack at Async._drainQueue (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:133:16)
8 verbose stack at Async._drainQueues (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:143:10)
8 verbose stack at Immediate.Async.drainQueues [as _onImmediate] (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:17:14)
8 verbose stack at runCallback (timers.js:705:18)
8 verbose stack at tryOnImmediate (timers.js:676:5)
8 verbose stack at processImmediate (timers.js:658:5)
9 verbose cwd /Users/danielhasegan/workspace/code
10 verbose Darwin 18.2.0
11 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "audit"
12 verbose node v10.12.0
13 verbose npm v6.4.1
14 error code ENOAUDIT
15 error audit Your configured registry (https://registry.npmjs.org/) does not support audit requests.
16 verbose exit [ 1, true ]
我嘗試了在 github 中找到的多個想法,但我沒有設置任何proxy
或http-proxy
。 兩者都返回null
:
npm config get proxy
npm config get https-proxy
有任何想法嗎? 這不是暫時的,我已經有一段時間了。 我覺得我得到503
很奇怪。 這意味着我的連接有問題。
嘗試運行npm update
然后npm audit
。 這應該可以解決問題。
當你的package.json
有類似"PACKAGE_NAME": "github:USERNAME/PACAKGE_NAME"
或任何其他不同的模式而不是典型的模式時,你可以擁有它,即"PACKAGE_NAME": "PACKAGE_VERSION"
。
第一的
npm install -g npm
然后
npm audit
可能會解決您的問題
我已經嘗試了所有提到的答案,但沒有運氣。 它的工作對我來說,只有當我刪除這兩個node_modules
和package-lock.json
,我運行后npm install
,然后npm audit fix
,然后它的工作
我發現https://npm.community/t/your-configured-registry-https-registry-npmjs-org-does-not-support-audit-requests/3600/6給出的答案有效,其中沒有以上答案有幫助:
刪除您的 node_modules 文件夾,然后嘗試運行 npm install --> npm update --> npm audit
對我來說,只有在刪除package-lock.json
並運行npm update
我才能運行npm audit
。
我相信這是 NPM 服務器的服務問題。 我在 CI 和開發機器中的所有項目中都遇到了同樣的問題。 所以不太可能是環境或package.json
問題。
注意錯誤:
http 獲取 POST 503 https://registry.npmjs.org/-/npm/v1/security/audits 13252ms
503 是服務器問題:
超文本傳輸協議 (HTTP) 503 服務不可用服務器錯誤響應代碼表示服務器未准備好處理請求。
常見原因是服務器停機維護或過載。 此響應應用於臨時條件,並且 Retry-After HTTP 標頭應盡可能包含服務恢復的估計時間。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503
只需等待一些時間來解決 NPM 服務中的任何問題即可為我修復它。 我懷疑所有這些關於更新 npm、刪除package-lock.json
、刪除node_modules
只會導致服務問題解決的延遲。
解決此問題的最安全方法是刪除文件夾node_modules和package-lock.json並運行npm install
對我而言,問題出在我的 npm 配置文件中,上述修復程序均無效。
執行以下操作解決了該問題。
1: 如果 npmrc 不可用,請安裝它
npm i npmrc -g
2:為公共 NPM 注冊表創建配置文件
npmrc -c npm
npm 配置設置注冊表https://registry.npmjs.com/
參考: https : //docs.open-registry.dev/known-issues-and-workarounds/
我們在.npmrc
文件中提到了一個阻止審計的私有注冊表。 我只是評論說要進行審計。
我不會推薦npm update
,尤其是像我這樣的企業應用程序,它有數百個模塊和數十個內部和外部依賴項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.