composer命令不起作用-PHP警告:Phar::mapPhar

composer命令不起作用-PHP警告:Phar::mapPhar,php,composer-php,phar,Php,Composer Php,Phar,我无法运行composer命令。我使用的是windows cmd 在C:\ProgramData\composer Setup\bin中,我可以执行php composer.phar,它可以正常工作 但是如果你使用composer或composer.bat,我会得到: PHP Warning: Phar::mapPhar(/cygdrive/c/ProgramData/ComposerSetup/bin/c:\ProgramData\ComposerSetup\bin\composer.ph

我无法运行composer命令。我使用的是windows cmd

在C:\ProgramData\composer Setup\bin中,我可以执行
php composer.phar
,它可以正常工作

但是如果你使用
composer
composer.bat
,我会得到:

 PHP Warning:  Phar::mapPhar(/cygdrive/c/ProgramData/ComposerSetup/bin/c:\ProgramData\ComposerSetup\bin\composer.phar): failed to open stream: No such file or directory in /cygdrive/c/ProgramData/ComposerSetup/bin/c:\ProgramData\ComposerSetup\bin\composer.phar on line 23
PHP Fatal error:  Uncaught exception 'PharException' with message 'unable to open phar for reading "/cygdrive/c/ProgramData/ComposerSetup/bin/c:\ProgramData\ComposerSetup\bin\composer.phar"' in /cygdrive/c/ProgramData/ComposerSetup/bin/c:\ProgramData\ComposerSetup\bin\composer.phar:23
Stack trace:
#0 /cygdrive/c/ProgramData/ComposerSetup/bin/c:\ProgramData\ComposerSetup\bin\composer.phar(23): Phar::mapPhar('composer.phar')
#1 {main}
  thrown in /cygdrive/c/ProgramData/ComposerSetup/bin/c:\ProgramData\ComposerSetup\bin\composer.phar on line 23
怎么了

我正在我的路径(cygwin/bin)中使用cygwin php

如果我使用新的php安装,它就会工作。但是我想把“cygwin/bin”保留在我的路径中。

我找到了

正在删除路径中的“c:\cygwin64\bin”。 在路径“c:\php”中添加新的php安装

添加新的系统变量:“CYGWIN\u HOME”,值为c:\cygwin64

这样,使用windows cmd,composer将在路径(“c:\php”)中使用php

使用cygwin,composer将使用“cygwin\bin”中的php(因为cygwin\u HOME变量)