我试图安装离子但它返回:npm ERR!代码E418

时间:2018-05-28 22:42:01

标签: ionic-framework npm

我有一个严重的问题。我尝试安装离子,cordova,angular,react-native-cli,https-status-error和其他包,它总是返回:

npm ERR! code E418
npm ERR! 418 I'm a teapot: ionic @ latest

请注意,这可能是错误的,我不明白发生了什么。它很好,直到3天前。

8 个答案:

答案 0 :(得分:10)

因此,在18年5月29日之后,这是从事公司代理工作的开发人员在全球范围内面临的常见错误。以下调整为我解决了这个问题:

  1. 转到您的.npmrc文件。

    根据要设置的配置,文件中将包含以下类似内容-

    strict-ssl=false
    registry=http://registry.npmjs.org/
    python=C:/Python27/python.exe
    msvs_version=2015
    http-proxy=<WHATEVER-PROXY-YOU-USUALLY-ADD>:8000
    

注意:忽略额外的配置,如python变量路径。

  1. 将注册表链接更新为“ https://registry.npmjs.org/ ”。所以您的文件现在看起来像这样-

     strict-ssl=false
     registry=https://registry.npmjs.org/
     python=C:/Python27/python.exe
     msvs_version=2015
     http-proxy=<WHATEVER-PROXY-YOU-USUALLY-ADD>:8000
    
  2. 还有中提琴!您都准备启动npm install命令:)

答案 1 :(得分:4)

为我工作!

如果设置代理应该取消设置。

npm config delete proxy
npm config delete https-proxy

解决方案解析npm ^ ___ ^

npm cache clean --force
npm cache verify 

答案 2 :(得分:2)

你是否支持公司代理?我尝试运行npm config rm proxy npm config rm https-proxy 时遇到了同样的错误。我所做的是从NPM中删除代理配置,如下所示:

Digit

这就是诀窍。

答案 3 :(得分:2)

我们必须使用userid和密码在.npmrc文件中添加代理信息。你不会发现任何问题。最近人们得到了http 418 - 茶壶问题。我们可以使用https(如下所示)修复设置注册表

使用它:

代理= HTTP://&LT;&GT;:其中;&GT; @&LT;&GT;:8080 /

HTTPS代理= HTTP://&LT;&GT;:其中;&GT; @&LT;&GT;:8080 /

注册表= https://registry.npmjs.org

答案 4 :(得分:1)

  418我是一个茶壶:这个代码在1998年被定义为传统的IETF愚人节笑话之一,在RFC 2324,超文本咖啡壶控制协议中,预计不会由实际的HTTP服务器实现。

但是,我们知道现在至少存在一种实现方式。

这是一个错误或奇怪的笑话。

正如@TomLingham建议的那样,请按https://github.com/npm/npm/issues/20791查看解决问题的进度以及一些解决方法。

例如Log.d("index",slope_db);仍然健康。

答案 5 :(得分:1)

我遇到了同样的问题,并设法解决了。 就我而言,我最初的值为“ http ://registry.npmjs.org/”,然后将其更改为“ https ”。以下是我运行的命令集:

npm config set registry https://registry.npmjs.org/
npm cache clean --force
npm cache verify

npm install

答案 6 :(得分:1)

访问了许多站点并测试了我发现的所有内容之后, 这个解决方案终于对我有用。如果您使用的是Windows,

  1. 单击Windows按钮并输入“运行”
  2. 键入.npmrc,然后使用您喜欢的编辑器打开此文件。
  3. 将“ registry = http://registry.npmjs.org/”替换为“ registry = https://registry.npmjs.org/”并保存。

注意:如果您还有任何代理问题,也可以在同一文件中设置如下所示的代理。就我而言,我的密码中有一个特殊符号“ @” 。 当我尝试使用 npm config set proxy 命令更改代理时,这些特殊字符已转换为其他字符:)因此,如果直接在此文件中设置代理,则可以消除所有这些麻烦。

您的最终.npmrc应该如下所示。如果代理没有任何问题,并且不要忘记将下面示例中的端口替换为代理端口,则可以删除代理行。

registry=https://registry.npmjs.org/  
proxy=http://username:password@yourproxy.net:8080/   
https-proxy=http://username:password@yourproxy.net:8080/  
strict-ssl=false

答案 7 :(得分:0)

我今天也遇到了同样的问题,看起来我们都在同一条船上。 https://github.com/npm/npm/issues/20791。链接中提供了一些解决方案。如果这是一个紧迫的问题,你可能想要研究它。