2012-05-09 82 views
18

可能重複:
What's the easiest way to install a missing Perl module?無法找到LWP/Simple.pm在@INC

我試圖運行a Perl script到SCXML轉換成Graphviz的DOT。我修改了劇本的第一行:

#!/usr/bin/env perl 

chmod +x文件。當我通過./scmxl2dot.pl運行它,我看到下面的錯誤輸出:

無法找到LWP/Simple.pm在@公司(@公司包含:/opt/local/lib/perl5/site_perl/5.12.3/darwin-multi-2level /opt/local/lib/perl5/site_perl/5.12.3 /opt/local/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level/opt/local/lib/perl5/vendor_perl /5.12.3 /opt/local/lib/perl5/5.12.3/darwin-multi-2level /opt/local/lib/perl5/5.12.3/opt/local/lib/perl5/site_perl/opt/local/lib /的perl5/vendor_perl)在./scmxml2dot.pl線14
BEGIN失敗 - 編譯中止在文件./scmxml2dot.pl線14

14號線是use LWP::Simple;

我如何:

  1. 瞭解,如果我有這個東西裝(模塊?),和/或
  2. 獲取LWP ::簡單,並使其可用於腳本?

這是在OS X 10.7.3和Perl 5.12.3下運行的(如錯誤中所示)。

+2

從[堆棧溢出的Perl FAQ](http://stackoverflow.com/questions/tagged/ perl?sort = faq):[什麼是安裝缺少的Perl模塊的最簡單方法?](http://stackoverflow.com/questions/65865/whats-the-easiest-way-to-install-a-missing-perl -module) – daxim

回答

30
  1. 你已經確定你沒有它(的地方可以找到)。

  2. perl -MCPAN -e'install "LWP::Simple"'

+0

謝謝;我不知道是否有某個配置env變量或其他類型的路徑丟失。 – Phrogz

+0

嘗試從sudo運行它 – Vincent

6
  1. 執行從以下命令行:

    perl -MLWP::Simple -e 1 
    

    如果你沒有得到上面的命令,然後將模塊安裝任何輸出;如果你得到一個錯誤,它沒有安裝

  2. 安裝使用

    perl -MCPAN -e'install "LWP::Simple"' 
    

當perl的交鋒使用我::模塊它越過的內置@INC模塊,包含的元素目錄名稱。在每個目錄中,它檢查是否有一個名爲「My」的子目錄,並且如果在該子目錄中有一個名爲「Module.pm」的文件。

檢查您的系統上安裝了LWP :: Simple模塊,並在您的代碼的使用LWP :: Simple語句的上方輸入以下行。

use lib '/usr/local/module'; 
    use LWP::Simple; 
2

看看在Perldoc網頁。這會告訴你哪些模塊是標準的Perl模塊,哪些不是。

您也可以使用perldoc命令來確定是否安裝了Perl模塊,如果它是,它的文檔。

$ perldoc LWP::Simple 

(如果的Perldoc不執行的命令做ls -l /usr/bin/perl*。在Mac上,一些Perl的命令沒有執行位打開。要打開它,做sudo chmod a+x /usr/bin/perl)。

這只是發生在LWP::Simple不是一個標準的Perl模塊,如果你沒有它,你將不得不安裝它。大多數人已經告訴過你cpan。不幸的是,默認情況下,Mac沒有安裝所需的命令行開發工具。 You'll have to install them

一旦他們安裝,你可以使用cpan命令來安裝LWP ::簡單:

$ sudo cpan #Run cpan and configure it. It takes about 3 minutes 
cpan> install LWP::Simple 
cpan> exit 
相關問題