我有最新的Visual Studio 2017,节点v10.4.1,npm v6.1.0。 我可以创建ASP.NET Core 2.0 React项目,并且NPM依赖项加载正常,我可以在Web浏览器中启动新创建的项目。
但是,当我创建一个新的ASP.NET Core 2.1 React项目时,NPM包的恢复失败了:
NPM: ERR! 418 I'm a teapot: acorn@5.3.0
如果NPM在2.0项目中运行良好,那可能会出现什么问题,但2.1 NPM恢复会因为那个愚蠢的愚蠢错误而失败。
.npmrc看起来像这样:
proxy=http://xxx.xxx.cz:3128/
registry=http://registry.npmjs.org/
strict-ssl=false
从cmd.exe执行的命令:
cd %ProgramFiles%\nodejs
npm install npm@latest
也以
结束npm ERR! 418 I'm a teapot: npm@latest
答案 0 :(得分:5)
在依赖代理的服务器上,另一种类型的项目也遇到了此错误。我已经通过使用https
而不是http
来使注册表工作:
registry=https://registry.npmjs.org/
答案 1 :(得分:2)
嗯,不确定我是否应该删除此帖子。它与issue described here相关联,但是应该在一个月前修复。显然,代理服务器发生的任何错误都会产生愚蠢的418 I'm a teapot
错误。我已经删除了代理服务器的行
proxy=http://xxx.xxx.cz:3128/
来自.npmrc
配置文件(在“用户”文件夹中),因此仅存在
registry=http://registry.npmjs.org/
strict-ssl=false
现在一切正常,并且ASP.NET Core 2.1的React项目启动没有错误。
我承认这个愚蠢的错误消息似乎不再有趣。
答案 2 :(得分:0)
我的项目中也出现此错误,主要原因是代理设置发生了变化。因此,我建议您检查您的代理设置...我用来解决此错误的一些命令...
npm set strict-ssl false
npm config set registry https://registry.npmjs.org/
//如果Npm在公司Web代理后面,则为附加命令
npm config set https-proxy http://...:8080
(add server proxy address and your port number)
npm config set http-proxy http://...:8080 (add server proxy address and your port number)
答案 3 :(得分:0)
npm将strict-ssl设置为false
npm配置集注册表https://registry.npmjs.org/