composer命令无效-PHP警告:Phar::mapPhar


composer command not work - PHP Warning: Phar::mapPhar

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

在C:''ProgramData''ComposerSetup''bin中,我可以做php composer.phar,它很有效。

但如果做composercomposer.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-php(cygwin/bin)。

如果我使用新的php安装,它就可以工作。但我想保持"cygwin/bin"在我的路径上。

我找到了!

正在删除路径中的"c:''cygwin64''bin"。在路径"c:''php"中添加新的php安装

添加新的系统变量:"CYGWIN_HOME",值为c:''cygwin64。

这样,使用windows cmd,composer将使用路径中的php("c:''php")。

使用cygwin,composer将使用"cygwin''bin"中的php(因为cygwin_HOME变量)。