Can‘t locate Perl/LanguageServer.pm in @INC (you may need to install the Perl::LanguageServer module

最近玩Perl,
VsCode Perl Perl debug
当前时间2024.06.03
下载了VsCode,装了Perl 插件,(我这个时间节点已经没有Perl debug这个插件了,好像跟Perl融合了.)
Perl版本
strawberry-perl-5.38.2.2-64bit
strawberry-perl-5.36.3.1-64bit
在这里插入图片描述

一直报这个错

Can't locate Perl/LanguageServer.pm in @INC (you may need to install the Perl::LanguageServer module) (@INC entries checked: D:/ProgramFiles/strawberry/perl/site/lib/MSWin32-x64-multi-thread D:/ProgramFiles/strawberry/perl/site/lib D:/ProgramFiles/strawberry/perl/vendor/lib D:/ProgramFiles/strawberry/perl/lib).

LZ执行如下命令后
cpan Perl::LanguageServer
到最后,就会有各种 Test 失败

IO::AIO
AnyEvent
AnyEvent::BDB
AnyEvent::IO::IOAIO
Coro

各种查资料,问小机器人
总结问题原因
就是因为Perl版本太高,依赖的某些模块不兼容,他就一直报这个错
降Perl版本至strawberry-perl-5.22.3.1-64bit.msi
先执行Perl::LanguageServer提前需要依赖的一些模块,就是上面Test失败提到的那些.不行了就强制安装执行,下面是会遇到的命令

cpanm AnyEvent  --force		#强制安装这个的
cpanm IO::AIO
cpanm AnyEvent::IO::IOAIO
perldoc -l App::cpanminus	#查看是否安装这个模块
cpanm Coro
cpanm Perl::LanguageServer		#Perl/LanguageServer.pm in @INC

LZ本地讲了版本后在安装Perl::LanguageServer
在VSCode的里执行Perl就可以查看到变量了.

以下是测试用到的代码片段

#!/usr/bin/perl
 
@hits = (25, 30, 40);             
@names = ("google", "runoob", "taobao");
 
print "\$hits[0] = $hits[0]\n";
print "\$hits[1] = $hits[1]\n";
print "\$hits[2] = $hits[2]\n";
print "\$names[0] = $names[0]\n";
print "\$names[1] = $names[1]\n";
print "\$names[2] = $names[2]\n";
my $cnt=0;
for (my$i=0;$i<@names;$i++){
    $cnt=$cnt + 1;
	print $i;

}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值