Specify dependencies better #225

Closed
goodevilgenius opened this Issue Mar 7, 2017 · 3 comments

Comments

Projects
None yet
2 participants

I installed diff-so-fancy via npm, according to the README, then when attempting to use it, I got the following error:

Can't locate open.pm in @INC (you may need to install the open module) (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/drj/.config/yarn/global/node_modules/diff-so-fancy/libexec/diff-so-fancy.pl line 8.
BEGIN failed--compilation aborted at /home/drj/.config/yarn/global/node_modules/diff-so-fancy/libexec/diff-so-fancy.pl line 8.

Once I installed perl-open from my OS's repositories, it worked fine.

It would've been good to know that that was a dependency beforehand, since it actually took a little while to figure what I was missing.

This comment has been minimized.

Show comment Hide comment
@scottchiefbaker

scottchiefbaker Mar 7, 2017

Contributor

That is very uncommon. You should not have to install any modules (I work hard at that).

What OS are you running?

Contributor

scottchiefbaker commented Mar 7, 2017

That is very uncommon. You should not have to install any modules (I work hard at that).

What OS are you running?

This comment has been minimized.

Show comment Hide comment
@goodevilgenius

goodevilgenius Mar 7, 2017

That was on Linux. Specifically, Fedora 24. It's a standard installation.

The error was from this line (8) from libexec/diff-so-fancy.pl:

use open qw(:std :utf8);

Since I didn't have open, that line failed.

That was on Linux. Specifically, Fedora 24. It's a standard installation.

The error was from this line (8) from libexec/diff-so-fancy.pl:

use open qw(:std :utf8);

Since I didn't have open, that line failed.

This comment has been minimized.

Show comment Hide comment
@scottchiefbaker

scottchiefbaker Mar 7, 2017

Contributor

Ahhh... RedHat does some slightly backwards thing with Perl. open.pm is a core Perl module (i.e. all copies of Perl should ship with it), but RedHat installs Perl "lite" to save space.

To get a full Perl install you have to dnf install perl-core. I'm honestly surprised this hasn't come up more... I suppose it is RedHat specific. Unfortunately this is a feature not a bug. I will update our docs to reference this though. Thanks for the heads up.

Contributor

scottchiefbaker commented Mar 7, 2017

Ahhh... RedHat does some slightly backwards thing with Perl. open.pm is a core Perl module (i.e. all copies of Perl should ship with it), but RedHat installs Perl "lite" to save space.

To get a full Perl install you have to dnf install perl-core. I'm honestly surprised this hasn't come up more... I suppose it is RedHat specific. Unfortunately this is a feature not a bug. I will update our docs to reference this though. Thanks for the heads up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment