首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在运行Node应用时解决NPM代理问题

如何在运行Node应用时解决NPM代理问题
EN

Stack Overflow用户
提问于 2020-02-03 11:05:09
回答 2查看 13.4K关注 0票数 3

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

npm安装新的npm错误!代码ENOTFOUND npm错误!错误的,错误的,错误的!网络请求https://registry.npmjs.com/nodemon失败,原因: getaddrinfo ENOTFOUND 28 npm错误!网络这是一个与网络连接相关的问题。npm错误!网络--在大多数情况下,您是在代理后面,或者网络设置不好。npm错误!网络npm错误!网络如果你是一个代理,请确保npm错误!网络‘代理’配置被正确设置。参见:“npm帮助配置”

我已经与代理检查,它被设置为下面的网络。

具有32字节数据的

Pinging proxy.internal.domainname.com : bytes=32 time=2ms TTL=247 Ping统计信息,用于:数据包:发送= 4,接收= 4,丢失=0(丢失0%),以毫秒计的近似往返时间:最小= 2ms,最大= 2ms,平均= 2ms

我尝试使用下面的命令将代理设置为https://registry.npmjs.com/nodemon

代码语言:javascript
运行
复制
npm config set registry "http://registry.npmjs.org/ 

在此之后,当我运行npm安装时,再次出现相同的错误。

npm --代理http://registry.npmjs.org/安装npm!代码ENOTFOUND npm错误!错误的,错误的,错误的!网络请求http://registry.npmjs.org/npm失败,原因: getaddrinfo ENOTFOUND 28 npm错误!网络这是一个与网络连接相关的问题。npm错误!网络--在大多数情况下,您是在代理后面,或者网络设置不好。npm错误!网络npm错误!网络如果你是一个代理,请确保npm错误!网络‘代理’配置被正确设置。参见:“npm帮助配置”

我尝试过谷歌的许多其他解决方案,但仍然面临着同样的代理问题。我只是想在本地运行这个应用程序,这样我就可以在部署之前在本地测试我的代码。我是不是漏掉了什么。

下面是我的示例package.json文件。

代码语言:javascript
运行
复制
{
  "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 =”username= "npm/6.13.4节点/v12.14.0 win32 x64“;userconfig C:\Users\username.npmrc https-win32 x64= "http://registry.npmjs.org/https://registry.npmjs.com/nodemon =“http://registry.npmjs.org/https://registry.npmjs.com/nodemon=“key =”https://registry.npmjs.com/nodemon= "http://registry.npmjs.org/“C:\Users\username.npmrc-ssl= false;内置配置未定义前缀=”C:\user\username\AppData\漫游npm“;cwd =H:\\core\src;HOME = C:\Users\username;"npm配置ls -l“以显示所有默认值。

编辑2:

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

代码语言:javascript
运行
复制
npm config delete https://registry.npmjs.com/nodemon

并再次运行npm install命令。但是再次得到代理错误,如下所示:

npm错误!网络请求到Regiy.npmjs.org/异步-每个/@类型%2fode失败,原因:读取ECONNRESET npm错误!网络这是一个与网络连接相关的问题。npm错误!网络--在大多数情况下,您是在代理后面,或者网络设置不好。npm错误!网络npm错误!如果您在代理后面,请确保.

EN

Stack Overflow用户

回答已采纳

发布于 2020-02-27 14:44:28

我已按以下步骤解决了这一问题:

确认您有互联网连接: ping 8.8.8.8 DNS解析器工作: ping www.google.com

  • make确定您可以访问registry.npmjs.org: ping registry.npmjs.org

  • make确保您可以通过https.

进行连接

在npm命令提示符或Visual代码终端中运行下面的命令。

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

在这里设置以上两个值时要记住的点:

  1. proxyname您需要与您的公司网络团队检查。输入上述两个值的代理URL。
  2. ,如果密码包含任何特殊字符,则用编码字符替换它。在此命令中,您不能提供具有特殊字符的密码。只替换特殊字符。(点)。例如:密码是: Welcome@12#,那么它就像欢迎%4012%23。

https://www.w3schools.com/tags/ref_urlencode.asp

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

票数 6
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60037937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档