2014-01-07 49 views
2

昨天我开始遇到这个问题。部署失败,当我运行:Azure网站:Kudu未能安装

npm install kudusync -g

,出现以下错误:

Error: SSL Error: CERT_UNTRUSTED

从似乎捻的依赖关系的一个是自签名或签名一些搜索。看起来我可以禁用对Node的SSL检查 - 但这看起来像是一个危险的选项,不推荐。有谁知道任何其他解决方法?

在蔚蓝的输出如下:

remote: npm http GET https://registry.npmjs.org/kudusync[K remote: ......[K

remote: npm http GET https://registry.npmjs.org/kudusync[K remote: .......................................................[K

remote: npm http GET https://registry.npmjs.org/kudusync[K remote: npm ERR! Error: SSL Error: CERT_UNTRUSTED[K

remote: npm ERR! at ClientRequest. (d:\Program Files (x86)\nodejs\node_modules\npm\node_modules\request\main.js:440:26)[K remote: An error has occurred during web site deployment.[K

+0

你可能会使用真正旧版的NPM。来自http://blog.npmjs.org/post/71267056460 - *如果由于某种原因您还在使用Node v0.6,或者v0.8的版本过时,则可以通过执行npm config set strict -ssl false,尽管我真的建议你升级,因为这个和其他很多原因* – Pranav

+0

我似乎无法通过package.json指定更新的版本,但这似乎很奇怪,这个问题会突然开始。我之前没有任何问题部署,也没有对部署方式做任何更改。 –

回答

3

断裂最有可能是指this change NPM制造。

您是否有自定义部署脚本或标准脚本?通过自定义,你的选择是:

  • 使用较新的版本NPM的
  • 运行npm config set strict-ssl false运行NPM
  • 如果您的自定义脚本必须KUDU_SYNC_COMMAND参考之前,重命名,为KUDU_SYNC_CMD
+0

第二个选项有效,但感觉不安全。第三种选择不适用于我的情况。我无法看到在Azure部署脚本中找到指定NPM版本的方法,这有可能吗? –

+0

第三个选项实际上适合你。看看https://gist.github.com/davidebbo/5357141看看我的意思。基本上'KUDU_SYNC_CMD'被传递给你,这样你根本不需要npm安装kudusync。如果不清楚,你可以分享你的完整脚本,我会帮助澄清。 –