FractalBoy / perl-language-server

100 stars 12 forks source link

Using with Local::Lib and Perlbrew #134

Closed jjn1056 closed 1 year ago

jjn1056 commented 1 year ago

Hi,

Great tool, but having some trouble using it with Perlbrew and local::lib (which Perlbrew uses).

I can't seem to get @INC to include the local-lib Perlbrew stuff. Here's my Perl -V (via perlbrew)

%ENV: PERL5LIB="/Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default/lib/perl5" PERLBREW_HOME="/Users/jnapiorkowski/.perlbrew" PERLBREW_LIB="default" PERLBREW_MANPATH="/Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default/man:/Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/man" PERLBREW_PATH="/Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default/bin:/Users/jnapiorkowski/perl5/perlbrew/bin:/Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/bin" PERLBREW_PERL="perl-5.34.0" PERLBREW_ROOT="/Users/jnapiorkowski/perl5/perlbrew" PERLBREW_SHELLRC_VERSION="0.92" PERLBREW_VERSION="0.92" PERL_LOCAL_LIB_ROOT="/Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default" PERL_MB_OPT="--install_base /Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default" PERL_MM_OPT="INSTALL_BASE=/Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default" @INC: /Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default/lib/perl5/darwin-2level /Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default/lib/perl5 /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0 /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0

and here's my config (I'm using visual studio)

"pls.syntax.perl": "/Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/bin/perl",
"pls.cmd": "/Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default/bin/pls",
"pls.inc": [ 
    "/Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default/lib/perl5/darwin-2level",
    "/Users/jnapiorkowski/.perlbrew/libs/perl-5.34.0@default/lib/perl5",
],
"pls.perlcritic.enabled": false, 

I had to hack pls to add the lib path for the local-lib but the local lib stuff still doesn't show up in @INC, I get the following errors like

Can't locate Moo.pm in @INC (you may need to install the Moo module) (@INC contains: /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0 /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0 /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/darwin-2level /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0 /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0/darwin-2level /Users/jnapiorkowski/perl5/perlbrew/perls/perl-5.34.0/lib/5.34.0)perl

It just repeats the paths over and over but is missing the local-lib path. Also there doesn't seem to be an easy way to include the project path. Anyone using VScode can give me a suggestion?

Thanks!!!

FractalBoy commented 1 year ago

Try this:

https://github.com/FractalBoy/perl-language-server/issues/126#issuecomment-1329258612