Multithreading ';perlbrew列表模块';是否返回';Perl';没有别的了

Multithreading ';perlbrew列表模块';是否返回';Perl';没有别的了,multithreading,perlbrew,Multithreading,Perlbrew,我已经安装了ubuntu 16.04,我已经安装了perl 5.8.7、5.18.2,它们都激活了线程,而5.18.1没有线程。 其目的是使用带有线程的Perl版本,而不是forks,因为我已经用threds编写了多个脚本,而forks不是一个合适的多线程模型(它只是forks进程)。 我遇到的第一个问题是当通过cpanm-fi[name\u of_module]命令安装模块时。事实上,这个命令根本没有返回任何东西!只是“Perl”。同样的事实也发生在我使用instal wathever模块时。

我已经安装了ubuntu 16.04,我已经安装了perl 5.8.7、5.18.2,它们都激活了线程,而5.18.1没有线程。 其目的是使用带有线程的Perl版本,而不是forks,因为我已经用threds编写了多个脚本,而forks不是一个合适的多线程模型(它只是forks进程)。 我遇到的第一个问题是当通过cpanm-fi[name\u of_module]命令安装模块时。事实上,这个命令根本没有返回任何东西!只是“Perl”。同样的事实也发生在我使用instal wathever模块时。 我认为这个问题与这样一个事实有关:当我在没有sudo的情况下运行脚本(例如perl[name_of the_script])时,我能够使用“treads”,而当我使用“sudo perl[name_of the_script]”运行脚本时,我会说“perl的当前版本不支持线程”! 真奇怪。 perlbrew环境变量设置正确,当我键入“which perl”时,系统会按预期指向新版本目录


不知道如何继续

我看到你在一个段落里贴了几个问题。我会尽力回答这个问题

cpanm-fi XXX
不“返回任何内容” 我不确定我是否得到了这个部分。如果
XXX
安装失败,屏幕上可能会显示一些错误消息。
perlbrew list modules
只打印
Perl
这一事实意味着可能没有安装任何东西

这可能是因为您的
cpanm
execuable隐式地安装了system perl的东西。您可以通过检查
head=cpanm
的第一行来验证这一点。如果不是
#/usr/bin/env perl
,它可能是错误的。您希望安装者:
perlbrew install cpanm

sudoperl 我想知道您的路径是否设置正确——在
perlbrew use 5.8.7
之后运行
perl-V
可以向您显示足够的版本信息,从而告诉您perlbrew本身是否工作正常

您可能还需要
sudo-E perl
sudo
reset env vars,除非您要求它不要(使用
-E
选项),并且可能需要PERL5LIB