有没有办法在Windows上全局安装Composer?

我已经阅读了Composer的全局安装文档 ,但只适用于* nix系统:

curl -s https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer 

在Windows上做同样的事情我也会很高兴,那就是我的开发机器的操作系统。 我将能够运行

 composer update 

composer.json存在的任意文件夹。 解释器php.exe已经在PATHvariables中。

任何线索?

当然。 只要把composer.phar放在C:\php\composer.phar某个地方,然后在PATH中的一个叫做composer.bat地方创build一个batch file,它会执行以下操作:

 @ECHO OFF php "%~dp0composer.phar" %* 

“%*”重复传递给shell脚本的所有参数。

那么你可以跑来做composer update所有你想要的!

安装Composer

在Windows上,您可以使用Composer Windows Installer 。

这可能对某人有用:

在Windows 7上,如果您使用curl安装了Composer,可以在类似的path中find它:

C:\Users\<username>\AppData\Roaming\Composer

转到位于php.exe文件夹。

C:\wamp\bin\php\php5.5.12\

在那里打开cmd,然后执行下面的命令。

 php -r "readfile('https://getcomposer.org/installer');" | php 

composer.phar将被下载到同一个文件夹中。

C://驱动器中创build一个名为composer文件夹(或者你希望的任何地方,即将到来的步骤,记住path)。

composer.phar文件移动到C://composer文件夹。

使用下面的内容在同一个文件夹中创buildcomposer.bat文件

 @ECHO OFF php "%~dp0composer.phar" %* 

创build没有任何扩展名的composer文件。

在CMD中运行命令type NUL > composer将有助于快速完成,

打开该文件,并将其放置在其中的内容下面。

 #!/bin/sh dir=$(d=$(dirname "$0"); cd "$d" && pwd) # see if we are running in cygwin by checking for cygpath program if command -v 'cygpath' >/dev/null 2>&1; then # cygwin paths start with /cygdrive/ which will break windows PHP, # so we need to translate the dir path to windows format. However # we could be using cygwin PHP which does not require this, so we # test if the path to PHP starts with /cygdrive/ rather than /usr/bin. if [[ $(which php) == /cygdrive/* ]]; then dir=$(cygpath -m $dir); fi fi dir=$(echo $dir | sed 's/ /\ /g') php "${dir}/composer.phar" $* 

保存。

现在设置path ,所以我们可以从cmd访问composer php。

  • 显示桌面。

  • 右键单击桌面上的我的电脑快捷方式。

  • 点击属性。

  • 你应该看到一个控制面板的一部分 – 控制面板\系统和安全\系统。

  • 点击左侧菜单上的高级系统设置。

  • 点击窗口底部的环境variables。

  • 在用户variables列表中selectPATH。

  • 将你的PHPpath(C:\ composer)追加到你的PATHvariables中,用已经存在的string和一个分号分开。

  • 点击OK

重新启动您的机器。

或者,在CMD中只使用以下命令重新启动explorer

 taskkill /f /IM explorer.exe start explorer.exe exit 

原文与截图在这里: http : //aslamise.blogspot.com/2015/07/installing-composer-manually-in-windows-7-using-cmd.html

那么,现在这个问题已经过时了,因为现在有一个正式的安装程序“将安装最新的Composer版本并设置PATH,以便您可以从命令行中的任何目录调用composer”。

你可以在http://getcomposer.org/doc/00-intro.md#installation-windows

如果将batch file放在与composer.phar相同的文件夹中,则更通用一些:

 @ECHO OFF SET SUBDIR=%~dp0 php %SUBDIR%/composer.phar %* 

我会写它作为评论,但代码没有在那里

开始“>”计算机:属性“>”更改设置“>”高级“>”环境variables“>path:编辑[在行尾添加此string(不带”“) ";C:\<path to php folder>\php5.5.3" ]。打开CMD并inputcomposer php它:-)

我使用Composer-Setup.exe,它工作正常。 以防万一您需要知道composer.phar(与PhpStorm一起使用):

 C:\ProgramData\ComposerSetup\bin\composer.phar 

对不起,我只想分享我的想法,对我来说简单的方法是将composer.phar重命名为composer.bat并将其放入我的PATH。

另一个变种(参见Lusitanian答案 )是将.phar文件注册为可执行文件, phar.reg文件:

 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.phar] @="phar_auto_file" [HKEY_CLASSES_ROOT\phar_auto_file\shell\open\command] @="\"c:\\PROGRA~1\\php\\php.exe\" \"%1\" %*" 

只需将php.exe的pathreplace为您的PHP可执行文件。 然后,您还可以扩展%PATHEXT%命令行variables.PHAR ,只要composer.phar位于%Path%内,就可以inputcomposer而不是composer.phar