Windows 上 Perl 的 site 和 site\lib 目录位置

发布于 2024-10-29 20:28:39 字数 219 浏览 2 评论 0原文

我是一名 PHP 程序员,刚刚被分配任务来处理一些 Perls 的东西 - 我需要安装模块。

但是任何人都可以为我澄清安装模块时“lib”和“site\lib”之间的区别吗?根据什么标准将一个模块安装在一个模块而不是另一个模块中?

这在 Windows 上真的相关吗(抱歉,从来没有在 UNIX 上工作过)。

我正在考虑使用 Strawberry Perl 5.12.2.0。

I am a PHP programmer and have just been assigned task to work on some Perls stuff - I need to install modules.

But can anybody clarify for me the difference between 'lib' and 'site\lib' when install modules. By what criterion is one module installed in one instead of the other?

Is this really relevant on Windows (sorry never worked on UNIX).

I am looking at using Strawberry Perl 5.12.2.0.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

南风起 2024-11-05 20:28:39

lib/ 包含 Perl 附带的模块。 site/lib/ 包含您自己安装的模块。 Perl 本身对两者没有任何区别。

如果对于全新安装来说 site/lib/ 不为空,则可能是因为 Strawberry 在其发行版中包含通常不使用 Perl 打包的模块。 (我知道 ActivePerl 可以。)

lib/ contains the modules that come with Perl. site/lib/ contains the module you've installed yourself. Perl itself doesn't make any distinction between the two.

If site/lib/ isn't empty for a fresh install, it's probably because Strawberry includes modules in their distro that aren't normally packaged with Perl. (I know ActivePerl does.)

ι不睡觉的鱼゛ 2024-11-05 20:28:39

有时它是相关的。有时您必须将环境变量 PERL5LIB 设置为“site\lib;lib”,有时则相反。

示例(截至 2011 年 4 月有效):

Perl 5.12 包括 Try::Tiny 0.6。

如果您要安装 Test::Fatal,它需要 Try::Tiny 0.7+。

所以你必须从 CPAN 更新它:然后你会得到 Try::Tiny 0.09

,但只有当你告诉 perl 首先查看 site\lib 时,0.09 才会被加载。

SOmetimes it is relevant. Sometimes you have to set the env var PERL5LIB to "site\lib;lib", sometimes it's the other way around.

Example (valid as of April, 2011):

Perl 5.12 includes Try::Tiny 0.6.

If you were to install Test::Fatal, it wants Try::Tiny 0.7+.

So you have to update it from the CPAN: then you'd get Try::Tiny 0.09

but 0.09 will only get loaded when you tell perl to look in site\lib first.

风筝有风,海豚有海 2024-11-05 20:28:39

最新的 Strawberry Perl 名为:strawberry-perl-5.28.1.1-64bit-portable,
@INC 指定的位置显示为:

  @INC:
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/site/lib
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/vendor/lib
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/lib

供应商的内容...仍然未知...
(请随意编辑此内容。)

The most recent Strawberry Perl named: strawberry-perl-5.28.1.1-64bit-portable,
show the locations specified by @INC to be:

  @INC:
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/site/lib
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/vendor/lib
    D:/myBuilds/strawberry-perl-5.28.1.1-64bit-portable/perl/lib

What goes into vendor... is still unknown...
(Feel free to edit this.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文