我无法运行composer命令。我使用的是windows cmd。
在C:''ProgramData''ComposerSetup''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-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变量)。