[英]How to resolve NPM proxy Issue whilel running Node JS application
我已經安裝了 Noed JS 和 NPM。我已經從 git 克隆了 repo 並嘗試在本地運行該應用程序。 但是我在運行應用程序時面臨以下代理問題。
npm install nodemon npm ERR: code ENOTFOUND npm ERR. errno ENOTFOUND npm ERR..network request to https,//registry:npmjs.com/nodemon failed. reason, getaddrinfo ENOTFOUND 28 npm ERR..network This is a problem related to.network connectivity: npm ERR!.network In most cases you are behind a proxy or have bad.network settings. npm ERR!.network npm ERR!.network If you are behind a proxy, please make sure that the npm ERR!.network 'proxy' config is set properly. See: 'npm help config'`
我已經檢查過代理,它被設置為 below.network。
Pinging proxy.internal.domainname.com with 32 bytes of data: Reply from <ip address="">: bytes=32 time=2ms TTL=247 Reply from <ip address="">: bytes=32 time=2ms TTL=247 Reply from <ip address="">: bytes=32 time=2ms TTL=247 Reply from <ip address="">: bytes=32 time=2ms TTL=247 Ping statistics for <ip address="">: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 2ms, Maximum = 2ms, Average = 2ms
我嘗試使用以下命令將代理設置為https://registry.npmjs.com/nodemon
。
npm config set registry "http://registry.npmjs.org/
當我在此之后運行 npm install 時,我再次遇到同樣的錯誤。
npm --proxy http://registry.npmjs.org/ install npm npm ERR: code ENOTFOUND npm ERR. errno ENOTFOUND npm ERR..network request to http,//registry:npmjs.org/npm failed. reason, getaddrinfo ENOTFOUND 28 npm ERR..network This is a problem related to.network connectivity: npm ERR!.network In most cases you are behind a proxy or have bad.network settings. npm ERR!.network npm ERR!.network If you are behind a proxy, please make sure that the npm ERR!.network 'proxy' config is set properly. See: 'npm help config'`
我已經嘗試了谷歌的許多其他解決方法,但仍然面臨同樣的代理問題。 我只是想在本地運行這個應用程序,這樣我就可以在部署之前在本地測試我的代碼。 我在這里錯過了什么嗎?
下面是我的樣本 package.json 文件。
{
"name": "abc",
"version": "0.0.1",
"description": "abc",
"main": "dist/index.js",
"engines": {
"node": "8.0.0",
"npm": "5.0.0"
},
"scripts": {
"prestart": "npm run -s build",
"start": "node dist/index.js",
"dev": "nodemon src/index.js --exec \"node -r dotenv/config -r babel-register\" localdev",
"clean": "rimraf dist && rimraf -p",
"build": "npm run clean && mkdir -p dist && babel src -s -D -d dist",
"test": "jest --watch",
"lint": "esw -w src test"
},
"keywords": [
"express",
"babel",
"es6",
"es2015",
"es2016",
"es2017",
"eslint"
],
"author": "abc",
"license": "LICENSED",
"dependencies": {
"babel-cli": "6.26.0",
"babel-plugin-transform-object-rest-spread": "6.26.0",
"babel-preset-env": "1.6.1",
"cors": "2.8.5",
"express": "4.16.4",
"js-yaml": "3.12.2",
"mssql": "5.0.0",
"winston": "3.1.0",
"winston-daily-rotate-file": "3.5.1"
},
"devDependencies": {
"babel-eslint": "7.2.3",
"babel-jest": "21.0.2",
"babel-register": "6.24.1",
"dotenv": "4.0.0",
"eslint": "4.10.0",
"eslint-config-airbnb-base": "12.1.0",
"eslint-plugin-import": "2.8.0",
"eslint-plugin-jest": "21.0.2",
"eslint-watch": "3.1.0",
"nodemon": "1.18.10",
"rimraf": "2.6.3"
},
"babel": {
"presets": [
[
"env",
{
"targets": {
"node": "current"
}
}
]
],
"plugins": [
"transform-object-rest-spread"
]
},
"eslintConfig": {
"parser": "babel-eslint",
"plugins": [
"import",
"jest"
],
"parserOptions": {
"ecmaVersion": 2017,
"sourceType": "module"
},
"env": {
"node": true,
"jest": true
},
"extends": [
"eslint:recommended"
]
}
}
編輯:
運行npm config ls
命令返回以下結果:
; cli configs metrics-registry = "http://registry.npmjs.org/async-each" scope = "" user-agent = "npm/6.13.4 node/v12.14.0 win32 x64"; userconfig C:\Users\username\.npmrc https-proxy = "http://registry.npmjs.org/" https://registry.npmjs.com/nodemon = "" key = "" registry = "http://registry.npmjs.org/" strict-ssl = false; builtin config undefined prefix = "C:\\Users\\username\\AppData\\Roaming\\npm"; node bin location = C:\Program Files\nodejs\node.exe; cwd = H:\IRB PMX Services\core\src; HOME = C:\Users\username; "npm config ls -l" to show all defaults.
編輯 2:
我現在運行以下命令來刪除錯誤的配置鍵,即https://registry.npmjs.com/nodemon = ""
部分:
npm config delete https://registry.npmjs.com/nodemon
並再次運行npm install
命令。 但再次出現如下代理錯誤:
npm ERR..network request to registry.npmjs,org/async-each/@types%2fnode failed: reason. read ECONNRESET npm ERR..network This is a problem related to.network connectivity, npm ERR..network In most cases you are behind a proxy or have bad.network settings. npm ERR..network npm ERR!.network If you are behind a proxy, please make sure that the ...
這為我修好了:
npm config delete proxy
npm config delete http-proxy
npm config delete https-proxy
快樂編碼!
我已經通過以下步驟解決了這個問題:
在 npm 命令提示符或 Visual Studio Code 終端中運行以下命令。
npm config rm proxy
npm config rm https-proxy
在瀏覽器中嘗試: https : //registry.npmjs.org/
確保您嘗試連接到:
registry.npmjs.org
而不是:
“registry.npmjs.org registry.npmjs.org:443”
使用以下命令設置注冊表。
npm config set registry https://registry.npmjs.org/
如果您使用代理訪問 Web,那么您還必須配置 npm 才能使用它。 用:
npm config set proxy http://username:password@proxyname:8080
npm config set https-proxy http://username:password@proxyname:8080
設置以上兩個值時要記住的要點:
例如:密碼是:Welcome@12# 那么它就會像 Welcome%4012%23。
https://www.w3schools.com/tags/ref_urlencode.asp
然后嘗試運行您的 npm install 命令,它應該可以工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.