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

时间:2012-08-21 16:40:48

标签: php windows composer-php

我已阅读Composer的global installation documentation,但仅适用于* nix系统:

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

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

composer update

来自composer.json存在的任意文件夹。口译员php.exe已在PATH变量中。

有任何线索吗?

13 个答案:

答案 0 :(得分:76)

不确定。只需将composer.phar放在像C:\php\composer.phar这样的地方,然后在名为composer.bat的PATH中的某个地方创建一个批处理文件,它执行以下操作:

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

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

然后你可以随心所欲地做composer update所有想要的事情!

答案 1 :(得分:21)

  

安装Composer

     

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

答案 2 :(得分:13)

转到位于php.exe的文件夹。

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

在那里打开cmd,并执行以下命令。

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

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

composer驱动器中创建名为C://的文件夹(或任何您希望的位置,对于即将到来的步骤,请记住路径)。

composer.phar文件移至C://composer文件夹。

在同一文件夹中创建composer.bat个文件,其中包含以下内容

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

创建名为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。

  • 显示桌面。

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

  • 单击“属性”。

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

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

  • 单击窗口底部的环境变量。

  • 在用户变量列表中选择PATH。

  • 将PHP路径(C:\ composer)附加到PATH变量,分开 从已存在的字符串中用半冒号。

  • 点击确定

重新启动你的机器。

或者,仅在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

答案 3 :(得分:11)

这可能对某人有用:

在Windows 7上,如果您使用curl安装了Composer,可以在类似的路径中找到它:

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

答案 4 :(得分:5)

好吧,现在这个问题有点过时,因为现在有一个官方安装程序“将安装最新的Composer版本并设置你的PATH,这样你就可以从命令行的任何目录中调用composer。”

您可以访问:http://getcomposer.org/doc/00-intro.md#installation-windows

答案 5 :(得分:3)

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

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

我会把它写成评论,但代码无效

答案 6 :(得分:3)

开始&gt;计算机:属性&gt;更改设置&gt;高级&gt;环境变量&gt;路径:编辑[在行";C:\<path to php folder>\php5.5.3"末尾添加此字符串(不带“”)] ..打开cmd并键入composer 多数民众赞成: - )

答案 7 :(得分:3)

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

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

答案 8 :(得分:1)

很抱歉挖掘这个,我只是想分享我的想法,对我来说简单的方法是将composer.phar重命名为composer.bat并将其放入我的路径中。

答案 9 :(得分:1)

另一种变体(请参阅Lusitanian answer)是将.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的路径替换为PHP可执行文件即可。然后,您还可以使用%PATHEXT%扩展.PHAR命令行变量,只要composer位于composer.phar内,您就可以输入composer.phar而不是%Path% 1}}。

答案 10 :(得分:1)

我遇到了同样的问题,当我在Windows 7中检查环境时,它指向c:\ users \ myname \ appdata \ composer \ version \ bin,它不存在。 该文件实际上位于 C:\ ProgramData \ ComposerSetup \ BIN 修复了环境设置中的位置并且工作正常

答案 11 :(得分:1)

不幸的是,这里所有的好答案都对我不起作用。因此,在Windows 10上安装composer之后,我只需要在system variable中设置environment variables即可。

Windows 10 environment variable -> system variables

答案 12 :(得分:0)

您可以使用此命令行安装

 echo @php "%~dp0composer.phar" %* > composer.bat