如何修复KMyMoney、GnuCash等软件中因Perl Finance::Quote模块失效导致的股票报价获取故障
如何修复KMyMoney、GnuCash等软件中因Perl Finance::Quote模块失效导致的股票报价获取故障
嘿,我太懂这种糟心的情况了——用着稳定的Ubuntu LTS,结果理财软件突然没法拉取股票报价了,对吧?
TLDR: 核心问题就是系统自带的Perl Finance::Quote模块版本太旧,跟不上Yahoo这类数据源的URL变更。最简单的修复方式就是直接从CPAN手动安装最新版的模块。
背景
像KMyMoney、GnuCash这类免费理财工具,全靠Perl的Finance::Quote库从各大财经网站拉取股票、债券和汇率数据。但这些网站经常会调整公开接口的URL,旧版本的库自然就失效了。而Ubuntu LTS为了稳定性,通常不会在backports里更新这类小众库,所以就出现了软件功能罢工的情况。
就拿Ubuntu 22.04 LTS来说,自带的libfinance-quote-perl是2021年的1.51版,最近因为Yahoo的接口更新彻底用不了了。你可以用这条命令确认自己当前的模块版本:
perl -MFinance::Quote -e 'print $Finance::Quote::VERSION . "\n"'
最简单的修复步骤
不用折腾复杂的PPA或者源码编译,按下面几步来就行:
- 先安装CPAN工具和必要的编译依赖:
sudo apt install cpanminus build-essential libssl-dev - 用cpanminus直接安装最新版的Finance::Quote(这会覆盖系统自带的旧版本,后续系统如果有官方更新的话会自动替换,完全不用担心冲突):
sudo cpanm Finance::Quote - 安装完成后再验证下版本,确认已经更新到最新版:
perl -MFinance::Quote -e 'print $Finance::Quote::VERSION . "\n"' - 最后重启KMyMoney或者GnuCash,再去试一下获取报价,应该就能正常工作了!
备注:内容来源于stack exchange,提问作者rand'Chris
相关产品推荐
相关产品推荐

