2016-09-21 368 views
1

我試圖讓一個用Perl編寫的工具工作,但似乎無論我做什麼我都無法解析依賴關係DBI包。無法解析perl依賴:無法在@INC中找到DBI.pm

ERROR: Can't locate DBI.pm in @INC (you may need to install the DBI module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at line 15.

我已經試過:

  • 使用CPAN安裝DBI,在沒有任何錯誤安裝,但我仍然得到同樣的錯誤。

  • 手動在DBI包中使用make install腳本。

  • 手動將DBI.pm複製到@INC中的某些目錄中。

  • 嘗試設置PERL5LIB到每個百萬的地方是Perl一遍遍安裝相同的包再次(正如有人誰從未使用perl的什麼可能的原因是有這個?!?)

  • 運行的perl -MCPAN -e'install

我不知道還有什麼做的......

+0

在系統perl中安裝模塊的最佳方式是使用包管理器(例如yum,apt-get)。你在運行什麼發行版? – ThisSuitIsBlackNot

+0

不在Linux上,我在OSX上 –

+0

第一個選項「使用cpan安裝DBI」是使用的選項。你可以向我們展示你在運行時得到的輸出嗎? '@ INC'中列出的所有目錄似乎都是系統目錄,因此您需要以root身份運行安裝。您可能想要使用[local :: lib](https://metacpan.org/pod/local::lib)來允許將非root用戶安裝到您選擇的目錄。 –

回答

0

我相信,Linux上常見的建議是不能修改系統Perl和使用不同的Perl 2.安裝用於Perl代碼開發。部分理由是操作系統依賴於系統Perl,如果系統Perl被修改/更新,它可能會破壞操作系統的某些功能。

我不確定這個問題是否也適用於OSX。如果是這樣,您可以使用perlbrew來幫助管理多個Perl安裝。由於有關於修復MacOSX 1.7 (Lion)的說明,我假設perlbrew將在MacOSx中工作。

使用perlbrew可能是一種更好的方式,而不是繼續修改系統Perl。

相關問題