5

我正在使用 Sublime Text 2 编辑器进行 Perl 开发,现在我面临下一个问题。我有我的项目:

/home/alex/workspace/

在这个项目中,我有以下库:

/home/alex/workspace/lib/

在我编辑文件时:

/home/alex/workspace/test.pl

在这个文件中我尝试加载库:

/home/alex/workspace/lib/myLib.pm

我有这样的代码:

#!/usr/bin/perl
use myLib;

sublimelinter 无法找到该库,因为它不在默认的 @INC 路径中。有没有办法在不更改我的脚本源代码的情况下为 sublimelinter 修改 Perl 的 @INC?

我尝试对 linter 使用每个项目的设置,如下所示:

{
"folders":
[
    {
        "path": "/home/alex/workspace"
    }
],
"settings":
{
    "SublimeLinter":
    {
        "Perl" :
        {
            "lint_args":
            [
                "-I", "/home/alex/workspace/lib",
                "-c",
                "{filename}"
            ]
        }
    }
}
}

但这无济于事。

4

2 回答 2

2

这应该有效。不过可能有更好的做法,我不是专家。

#!/usr/bin/perl
use strict;
use warnings;
use lib "/home/alex/workspace/lib/";
use myLib;

这是一个链接: http: //perldoc.perl.org/lib.html

这会有一些可移植性问题,但是这个问题还有一些其他相关的答案:我的 Perl 脚本如何在同一目录中找到它的模块?

另一个很好的来源http://learn.perl.org/faq/perlfaq8.html#How-do-I-add-a-directory-to-my-include-path-INC-at-runtime-

于 2013-07-30T16:25:37.413 回答
2

这些答案应该更新为崇高的文本 3

打开 Preferences-> Package Setting->SublimeLinter->Settings-User。

找到这个条目,然后替换 /path/to/my/project

  "linters": {
        "perl": {
            "include_dirs": ["/path/to/my/project"]
        }'
于 2016-06-07T00:03:44.870 回答