2013-01-17 72 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:它与我合作:-)