2014-01-07 50 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。如果不清楚,你可以分享你的完整腳本,我會幫助澄清。 –