Npm SELF_SIGNED_CERT_IN_CHAIN on Azure Npm SELF_SIGNED_CERT_IN_CHAIN on Azure azure azure

Npm SELF_SIGNED_CERT_IN_CHAIN on Azure


Since yesterday (Feb 27, 2014) NPM doesn't support self signed certificates anymore: http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more

The solution: either

Upgrade your version of npm

npm update -g

-- or --

Tell your current version of npm to use known registrars

npm config set ca=""

-- or ---

As last resort resolution I don't suggest this for security issues, using SSL is always safer, switch your registry to use HTTP instead of HTTPS:

npm config set registry="http://registry.npmjs.org/"


Until we update NPM on Azure, one simple way to work around this is to create a custom deployment script (info here).

Here is a sample repo that demonstrates what to customize: https://github.com/davidebbo-test/AzureNpmCertWorkaround. Specifically, look at this commit, which uses the npm config set ca "" workaround.

If you don't want to deal with generating a custom deployment script using the Azure tool, you can simply grab the .deployment and the deploy.cmd from the test repo, and commit them to the root of your repo.


You can't run npm install npm -g. npm install being broken is the problem, remember? A good tip from the comments on npm's blog post, worked like a charm:

npm config set strict-ssl falsenpm install npm -gnpm config set strict-ssl true

You may need to use sudo.