问题及解决方案:
系统中用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的及其插件,版本兼容的问题,是一个头疼的问题。