Azure上的Npm SELF_SIGNED_CERT_IN_CHAIN

由于npm昨天放弃了对自签名证书的支持,我不能再从Windows Azure上运行的npm安装任何软件包。

在我的本地机器上,我可以通过应用这个官方修复来解决这个问题。 但是,我找不到解决我的网站实例上的问题的方法。 有任何想法吗?

在更新Azure上的NPM之前,解决此问题的一个简单方法是创build自定义部署脚本( 此处为信息)。

这里是一个示例回购,演示了要自定义: https : //github.com/davidebbo-test/AzureNpmCertWorkaround 。 具体来说,看看这个提交 ,它使用npm config set ca ""解决方法。

如果您不想使用Azure工具生成自定义部署脚本,则可以简单地从testing库中获取.deploymentdeploy.cmd ,并将其提交到您的repo的根目录。

自从昨天(2014年2月27日)以来,NPM不再支持自签名证书: http : //blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more

解决scheme:要么

升级你的npm版本

npm更新-g

– 要么 –

告诉你当前版本的npm使用已知的注册商

npm config set ca =“”

– 要么 – –

作为最后的解决办法,我不build议在安全问题上使用SSL,但使用SSL总是更安全,请将registry切换为使用HTTP而不是HTTPS:

npm config set registry =“http://registry.npmjs.org/”

你不能运行npm install npm -gnpm install被破坏是个问题,记得吗? 从npm的博客文章的评论中,一个很好的提示,工作就像一个魅力:

 npm config set strict-ssl false npm install npm -g npm config set strict-ssl true 

您可能需要使用sudo

错误名称:错误:SELF_SIGNED_CERT_IN_CHAIN

解决这个错误的步骤如下:

1)将Node.js和npm更新到最新版本,

2)按顺序运行这三个命令。

  -npm config set strict-ssl false -npm update npm –g -npm config set strict-ssl true 

3)使用以下命令在npm config中设置属性proxy和https-proxy:

  -npm config set proxy “http://<proxy-name>:8080” -npm config set https-proxy “http://<proxy-name>:8080”