Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在运行Node JS应用程序时解决NPM代理问题_Javascript_Node.js_Npm_Proxy - Fatal编程技术网

Javascript 如何在运行Node JS应用程序时解决NPM代理问题

Javascript 如何在运行Node JS应用程序时解决NPM代理问题,javascript,node.js,npm,proxy,Javascript,Node.js,Npm,Proxy,我已经安装了Noed-JS和NPM。我已经从git克隆了repo,并尝试在本地运行该应用程序。但我在运行应用程序时面临以下代理问题 npm安装nodemon npm错误!代码ENOTFOUND npm错误!errno ENOTFOUND npm错误!网络请求到https://registry.npmjs.com/nodemon 失败,原因:getaddrinfo ENOTFOUND 28 npm错误!网络这是一个与网络连接相关的问题。 npm错误!网络在大多数情况下,您位于代理服务器后面或网络设

我已经安装了Noed-JS和NPM。我已经从git克隆了repo,并尝试在本地运行该应用程序。但我在运行应用程序时面临以下代理问题

npm安装nodemon
npm错误!代码ENOTFOUND
npm错误!errno ENOTFOUND
npm错误!网络请求到https://registry.npmjs.com/nodemon 失败,原因:getaddrinfo ENOTFOUND 28
npm错误!网络这是一个与网络连接相关的问题。
npm错误!网络在大多数情况下,您位于代理服务器后面或网络设置不正确。
npm错误!网络
npm错误!网络如果您在代理后面,请确保
npm错误!网络“代理”配置设置正确。请参阅:“npm帮助配置”`
我与代理进行了检查,并将其设置为低于网络

ping proxy.internal.domainname.com和32字节的数据:
回复自:字节=32次=2ms TTL=247
回复自:字节=32次=2ms TTL=247
回复自:字节=32次=2ms TTL=247
回复自:字节=32次=2ms TTL=247
Ping统计数据用于:
数据包:发送=4,接收=4,丢失=0(0%丢失),
以毫秒为单位的近似往返时间:
最小值=2ms,最大值=2ms,平均值=2ms
我试图将代理设置为
https://registry.npmjs.com/nodemon
使用下面的命令

npm配置集注册表”http://registry.npmjs.org/ 
当我在这之后运行npm安装时,再次出现相同的错误

npm——代理http://registry.npmjs.org/  安装npm
npm错误!代码ENOTFOUND
npm ERR!errno ENOTFOUND
npm ERR!网络请求到http://registry.npmjs.org/npm 失败,原因:getaddrinfo ENOTFOUND 28
npm ERR!网络这是一个与网络连接相关的问题。
npm ERR!network在大多数情况下,您都在代理服务器后面,或者网络设置不正确。
网络错误
npm ERR!网络如果您在代理后面,请确保
npm错误!网络“代理”配置设置正确。请参阅:“npm帮助配置”`
我尝试过谷歌的许多其他解决办法,但仍然面临同样的代理问题。 我只是想在本地运行这个应用程序,这样我就可以在部署之前在本地测试我的代码。我是否遗漏了什么

下面是我的示例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配置
度量注册表=”http://registry.npmjs.org/async-each"
scope=“”
用户代理=“npm/6.13.4节点/v12.14.0 win32 x64”
;userconfig C:\Users\username\.npmrc
https代理=”http://registry.npmjs.org/"
https://registry.npmjs.com/nodemon = ""
key=“”
注册表=”http://registry.npmjs.org/"
严格ssl=false
;内置配置未定义
prefix=“C:\\Users\\username\\AppData\\Roaming\\npm”
;node bin location=C:\Program Files\nodejs\node.exe
;cwd=H:\IRB PMX服务\core\src
;HOME=C:\Users\username
;“npm config ls-l”显示所有默认值。

编辑2:

我现在运行以下命令来删除错误的配置键,即
https://registry.npmjs.com/nodemon =''
部分:

npm配置删除https://registry.npmjs.com/nodemon
然后再次运行
npm install
命令。但再次出现代理错误,如下所示:

npm ERR!对registry.npmjs.org/async each/@types%2fnode的网络请求失败,原因:read ECONNRESET
npm ERR!网络这是一个与网络连接相关的问题。
npm ERR!network在大多数情况下,您都在代理服务器后面,或者网络设置不正确。
npm ERR!网络npm ERR!网络如果您在代理后面,请确保
...

我已通过以下步骤解决了此问题:

  • 确保您有internet连接:ping 8.8.8.8
  • 确保DNS解析程序正常工作:ping www.google.com
  • 确保您可以访问registry.npmjs.org:ping registry.npmjs.org
  • 确保您可以通过https进行连接
  • 在npm命令提示符或Visual Studio代码终端中运行以下命令

    npm配置rm代理

    npm配置rm https代理

    在浏览器中尝试:

    确保您正在尝试连接到:

    registry.npmjs.org

    而非:

    “registry.npmjs.org registry.npmjs.org:443”

    使用下面的命令设置注册表

    npm配置集注册表https://registry.npmjs.org/

    如果您使用代理访问Web,则还必须配置npm以使用它。使用:

    npm配置集代理http://username:password@代理名称:8080

    npm配置集https代理http://username:password@代理名称:8080

    设置上述两个值时,此处要记住的要点:

  • proxyname您需要与您的公司网络团队核实。请在上述2个值中输入该代理URL
  • 如果您的密码包含任何特殊字符,请将其替换为编码字符。在此命令中,您不能提供带有特殊字符的密码。请仅替换特殊字符而不是。(点)。 示例:密码为:Welcome@12#然后它将像欢迎%4012%23


  • 然后尝试运行npm install命令,它应该可以工作。

    尝试运行以下命令将设置为默认URL,即https…:
    npm配置集注册表”https://registry.npmjs.org/“
    @RobC,再次出现代理错误。我已经多次尝试使用此命令,但每次都出现代理错误。npm错误!网络请求失败,原因:读取ECONREET npm ERR!网络这是一个与网络连接相关的问题。npm错误!网络在大多数情况下,您位于代理服务器后面或网络设置不正确。