[GNC] gnucash-cli says, "No quotes retrieved. Finance::Quote isn't installed properly" on macOS
Jim DeLaHunt
list+gnucash at jdlh.com
Sat Jun 12 21:31:41 EDT 2021
On 2021-06-12 09:13, John Ralls wrote:
>> On Jun 12, 2021, at 12:22 AM, Jim DeLaHunt <list+gnucash at jdlh.com> wrote:
>>
>> OK, I can understand that the MacPorts installation of perl may be configured to look for perl packages in MacPorts locations, and ignore the system locations. But I don't understand wny the GUI app of GnuCash apparently can find Finance::Quote when run from the GUI, but the gnucash-cli app apparently cannot. What is different?
> Because applications started by LaunchServices don't get the environment from your shell's startup files. That means GnuCash is running /usr/bin/perl, not /opt/local/bin/perl but when you run a program from Terminal the environment is read so gnucash-cli runs /opt/local/bin/perl.
Thank you, John, this explanation is very helpful. I can understand that
the GnuCash GUI and the gnucash-cli experience different environments,
especially different $PATH values, because the OS invokes them in
different environments.
But I find it very confusing to have gnucash-cli be presented as an
integral part of GnuCash, and all the references to a singular action of
"update Finance::Quote on the system", then have gnucash-cli behave
differently and require a different installation of Finance::Quote than
the GnuCash GUI.
It seems to me that if both gnucash-cli and the GnuCash GUI would invoke
the perl executable at an absolute path, then they would have consistent
behaviour. Thus I wonder why GnuCash lets the environment find the perl
executable.
I have filed Bug 798209, "gnucash-cli might not use the same perl and
Finance::Quote as GnuCash GUI",
<https://bugs.gnucash.org/show_bug.cgi?id=798209> , to track this.
My workaround as a MacPorts user: install Finance::Quote into the
MacPorts perl environment:
```
% port install p5-finance-quote
````
—Jim DeLaHunt
More information about the gnucash-user
mailing list