nodejs routines:EVP_PKEY_get1_RSA:expecting an rsa key: error 及npm升级nodejs

时间:2022-09-28 18:31:44

问题及解决方案:

系统中用nodejs去访问Twitter API,之前一直是好的,但突然有一天,Twitter无法获取搜索结果了,

第一反应Twitter Search API变了,要改API,到Twitter Dev官网看看吧,没发现有变化啊,

因为用的是nodejs-oauth去访问的,再看看oauth的写法是否变了,发现也没有啊!


那就很奇怪了,都没变,为什么突然不能访问了,第一天的调查无果,


在Dev模式下,看看后台的错误,有以下错误:


607907F:digital envelope routines:EVP_PKEY_get1_RSA:expecting an rsa key:../deps/openssl/openssl/crypto/evp/p_lib.c:288:

这是啥错误,搜索下,

https://github.com/nodejs/node-v0.x-archive/issues/4771


大致是说node的版本可能有问题,尝试下吧,因为我用了nvm安装的nodejs,我就用nvm去升级node的版本,尼玛,又一蛋疼的问题出现了,我换了几次,居然没换成功,

这又是咋回事赖?搞不懂~!

哎,换个东西,用npm来升级版本,终于在以下URL的指点下,升级成功:

http://davidwalsh.name/upgrade-nodejs


由v0.8.21 ---> v0.10.17,

再试试,哈哈,果然Twitter可以正常使用了,一波三折啊,各种意想不到的问题!


疑问:

1. 为啥一开始Twitter是好用的,突然就不行了,期间对Twitter并没有做任何改动。

2. 为啥nvm升级不管用了,我记得我是nvm装的nodejs啊,非要用npm才升级成功了。


总结:

1. nodejs的及其插件,版本兼容的问题,是一个头疼的问题。