2013-01-17 95 views
6

我有一個小理解問題。構建Qt5 Git/Perl - 路徑

Qt Wiki寫,我必須:

Hint: Make sure that Perl is added to the path in front of git since that ships an outdated version (Perl 5.8), which will cause the scripts to fail.

,這是什麼恰恰意味着?這是否意味着PATH變量?它包含以下項目:

C:\Python33\ 
C:\Perl64\site\bin 
C:\Perl64\bin 
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common 
C:\Program Files (x86)\AMD APP\bin\x86_64 
C:\Program Files (x86)\AMD APP\bin\x86 
%SystemRoot%\system32 
%SystemRoot% 
%SystemRoot%\System32\Wbem 
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\ 
C:\Program Files (x86)\ATI Technologies\ATI.ACE\Core-Static 
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ 
C:\Program Files\Common Files\Autodesk Shared\ 
C:\Program Files\Microsoft\Web Platform Installer\ 
C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\ 
C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\ 
C:\Program Files (x86)\Autodesk\Backburner\ 
C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\ 
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\ 
C:\Program Files\Microsoft SQL Server\100\DTS\Binn\ 
C:\Python33\Lib\site-packages\PyQt4 

有人能告訴我如何在git前面設置路徑嗎?我不知道這意味着什麼

問候

+0

除非你的Perl過時了,否則不應該有問題。如果你運行5.10或更高版本,一切都應該沒問題(請參閱'perl -v')。 – amon

+0

我正在運行最新版本5.16 - 因此應該可以工作:/ – Michael

+0

@amon:問題是git與Perl v5.8捆綁在一起,所以如果您的PATH設置爲首先找到該版本,那麼它將不會區別你有什麼其他版本。 – Borodin

回答

6

如果命令處理器沒有找到在當前目錄下的程序,它會檢查每個目錄中PATH環境變量,並執行第一個它認定。 wiki說的是,因爲git安裝包含過時的Perl版本,所以如果git目錄第一次出現在PATH列表中,那麼將會選擇它,而不是任何其他安裝的Perl版本。

git沒有出現在您的PATH所以問題不會出現。在任何情況下,Perl的條目都在列表的開頭附近,因此安裝的Perl將在其他任何事情之前被選中。

+0

這是我的想法也是,但我得到這個錯誤: d:\ GitHub的> CD QT5 d:\ GitHub的\ QT5 [穩定]> perl的初始化存儲庫 「GetOptionsFromArray」 不是由出口Getopt :: Long模塊 在init-repository第201行的導入錯誤後無法繼續012ghtBEGIN失敗 - 在init-repository 201行編譯中止。 – Michael

+2

這是Getopt :: Long版本的問題,而不是與Perl的版本。確保從'D:\ GitHub \ qt5'發佈'perl -v'並確保你的版本比5.8更好。如果是這樣,那就重新安裝'Getopt :: Long'。 – Borodin

+0

你說得對。從D:\ GitHub \ qt5文件夾中調用perl -v會給我:這是爲msys構建的perl,v5.8.8 - 通過googeling我沒有發現任何如何在Git中安裝/更新我的perl版本。你能告訴我該怎麼做嗎? – Michael

5

我得到同樣的問題,我安裝了perl 5.16.3。但perl -v顯示5.8.8,我查看了perl的文件夾,發現有兩個名爲perl.exe和perl5.16.3.exe的.exe文件。然後我輸入「perl5.16.3 init-repository」,它運行OK!

2

我的解決辦法:

 
1. Download and install the latest version of ActiveState perl (5.16.3 now) 
2. Copy the contents (replacing existing files) of 
C:\Perl 
to 
C:\Program Files (x86)\Git 
(yeah, lots of crap but it doesn't matter) 
3. Uninstall ActiveState perl 

Result: you have an updated version of perl inside git. 

1

這是最簡單的解決方案:

假設你安裝了一些了最新版本的Perl,它已經在PATH,乾脆去那裏GIT可執行文件是,這通常是

C:\Program Files (x86)\Git\bin 

重命名perl.exeperl1.exe。如果您真的對此感到不滿,請在完成任何問題後重新將其重命名。

爲什麼這會解決問題?因爲你的程序不會在GIT的目錄中找到perl,並且會嘗試在其他地方找到它,並且由於你在PATH中有最新版本的Perl,它會找到它並且一切都會運行。

PS:它與我合作:-)