Perl:如何处理重复的模块安装?
Perl: How to deal with a duplicated modules installation?
我是 Perl 的新手,无意中安装了双模块。
我重新安装了 Strawbery Perl on Windows 10
. After that, I tried to update all modules at once by using a command proposed in this answer; :
cpan-outdated -p | cpanm
不幸的是,更新似乎可能安装在另一个位置:
whichpm -a Mojolicious
C:\Strawberry\perl\site\lib\Mojolicious.pm
C:\Strawberry\perl\vendor\lib\Mojolicious.pm
whichpm -v Mojolicious
whichpm: WARNING: DUPLICATE module files found for 'Mojolicious':
C:\Strawberry\perl\vendor\lib\Mojolicious.pm
Mojolicious 8.22 (non-core) C:\Strawberry\perl\site\lib\Mojolicious.pm
遇到这种情况怎么处理?
如何在进一步的更新中防止此类情况发生?
perl -wE "say for @INC"
C:/Strawberry/perl/site/lib/MSWin32-x64-multi-thread
C:/Strawberry/perl/site/lib
C:/Strawberry/perl/vendor/lib
C:/Strawberry/perl/lib
一切正常。
共有三组安装位置:核心、供应商和站点。
vendor 目录通常由 linux 发行版的包管理器使用,但 Strawberry Perl 似乎在其发行版中包含许多非核心模块(包括 Mojolicious),并将它们放在供应商目录。 这是正确的。[1]
站点目录用于用户安装的模块。因此,升级后的 Mojolicious 已安装到站点目录中。 这是对的。
(更多差异 。)
这不是问题,因为站点目录位于 @INC
中的供应商目录之前,因此在供应商安装的版本之前找到模块的用户安装版本。
- 使用网站目录可能也不错,因为 Strawberry Perl 不提供管理它捆绑的发行版的方法。但是使用供应商目录肯定是安全的。
我是 Perl 的新手,无意中安装了双模块。
我重新安装了 Strawbery Perl on Windows 10
. After that, I tried to update all modules at once by using a command proposed in this answer; :
cpan-outdated -p | cpanm
不幸的是,更新似乎可能安装在另一个位置:
whichpm -a Mojolicious
C:\Strawberry\perl\site\lib\Mojolicious.pm
C:\Strawberry\perl\vendor\lib\Mojolicious.pm
whichpm -v Mojolicious
whichpm: WARNING: DUPLICATE module files found for 'Mojolicious':
C:\Strawberry\perl\vendor\lib\Mojolicious.pm
Mojolicious 8.22 (non-core) C:\Strawberry\perl\site\lib\Mojolicious.pm
遇到这种情况怎么处理?
如何在进一步的更新中防止此类情况发生?
perl -wE "say for @INC"
C:/Strawberry/perl/site/lib/MSWin32-x64-multi-thread
C:/Strawberry/perl/site/lib
C:/Strawberry/perl/vendor/lib
C:/Strawberry/perl/lib
一切正常。
共有三组安装位置:核心、供应商和站点。
vendor 目录通常由 linux 发行版的包管理器使用,但 Strawberry Perl 似乎在其发行版中包含许多非核心模块(包括 Mojolicious),并将它们放在供应商目录。 这是正确的。[1]
站点目录用于用户安装的模块。因此,升级后的 Mojolicious 已安装到站点目录中。 这是对的。
(更多差异
这不是问题,因为站点目录位于 @INC
中的供应商目录之前,因此在供应商安装的版本之前找到模块的用户安装版本。
- 使用网站目录可能也不错,因为 Strawberry Perl 不提供管理它捆绑的发行版的方法。但是使用供应商目录肯定是安全的。