2017-02-19 56 views
0

我正在運行Windows 8.我剛剛下載了ActivePerl,並且正在通過Padre運行代碼。我使用PPM來安裝所需的模塊,但是當我嘗試運行代碼時,出現錯誤「Can not locate Tk.pm」。模塊是否安裝在錯誤的位置?我如何找到模塊?在使用PPM進行安裝後,無法在@inc中找到模塊

編輯:我不確定問題是什麼,我可能永遠不會知道。我卸載Perl,重新啓動我的電腦,再次安裝它,一切正常。

+0

你可以有兩個Perl的安裝? – ikegami

+0

模塊安裝是否成功完成?它完成了嗎?這是非常含糊的,如果你可以發佈安裝日誌的輸出,它會讓我們更容易看到出了什麼問題。 – 2017-02-20 06:07:15

+0

@Gerry,ppm幾乎只是解壓縮一個預編譯的軟件包。如果軟件包存在,失敗是不可能的。 – ikegami

回答

-1

您可以嘗試手動查看Perl lib文件夾,通常它們將出現在您安裝ActivePerl的目標目錄中。像C:\ Perl \ lib和C:\ Perl \ site \ lib一樣。嘗試在這些位置搜索模塊。

你也可以使用cmd命令 - perl -e「use Tk」。您也可以參考以下link以獲取有關檢查模塊是否安裝在系統中的更多選項。

+0

然後呢?你要去哪裏? – ikegami

+0

查找是否安裝模塊。在上述查詢的情況下應該如何處理。 – Mohit

+0

然後呢?你要去哪裏? – ikegami

-1

下面是檢查安裝是否正常的方法,只是一種解決方法,在生產中使用它之前再考慮一下。

首先,檢查您的硬盤中是否存在Tk.pm。一種方法是安裝Everything並搜索文件。 如果該文件存在,並且在一個目錄,如"C:/some_path/TK.pm"

然後在劇本,通過use lib 'C:/some_path'指定路徑,這將增加'C:/some_path'到perl模塊搜索路徑。那麼use Tk應該沒問題。

use lib 'C:/some_path'; 
use Tk; 
print join ", ", @INC; # see the search path 
+0

這個可能完成的唯一的事情就是讓一個'perl'使用另一個'perl'安裝的模塊,這很糟糕。請記住,該模塊是由'ppm'安裝的,而不是'cpan' /'cpanm',所以(據我所知),它不能安裝在「不正確的」位置。 – ikegami

0

難道模塊得到安裝在錯誤的位置?

不,據我所知,ppm是無法做到這一點。

想到三種可能性。

  • 您安裝使用一個perl模塊,但您使用時策略平臺使用不同的一個。 (解決方法:安裝使用正確的Perl模塊,由Perl的bin DIR使用ppmcpan意思。)

  • 有某種權限問題的防止模塊被發現。 (不太可能,如果您使用與試圖使用它的用戶相同的用戶安裝模塊)。

  • 安裝失敗。 (你得到什麼錯誤?)


如果您需要進一步的幫助,你可以請提供dir /s/b c:\Tk.pm的ouptut和perl -le"print $^X"輸出?

相關問題