有没有办法在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
已经在PATH
variables中。
任何线索?
当然。 只要把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
。