有没有办法在 Windows 上全局安装 Composer?
Posted
技术标签:
【中文标题】有没有办法在 Windows 上全局安装 Composer?【英文标题】:Is there any way to install Composer globally on Windows? 【发布时间】:2012-08-17 01:35:33 【问题描述】:我已经阅读了 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
变量中。
有什么线索吗?
【问题讨论】:
【参考方案1】:你可以使用这个命令行安装它
echo @php "%~dp0composer.phar" %* > composer.bat
【讨论】:
【参考方案2】:不幸的是,这里所有的好答案都不适合我。因此,在 Windows 10 上安装 composer 后,我只需在 environment variables
中设置 system variable
即可。
【讨论】:
这并没有完全做到。相反,我将C:\ProgramData\ComposerSetup\bin'\composer
添加到我的PATH
变量中,这对我有用。【参考方案3】:
我遇到了同样的问题,当我检查 Windows 7 中的环境时,它指向不存在的 c:\users\myname\appdata\composer\version\bin。 该文件实际上位于 C:\ProgramData\ComposerSetup\bin 修复了环境设置中的位置,它工作了
【讨论】:
【参考方案4】:我使用 Composer-Setup.exe,它工作正常。 以防万一您需要知道 composer.phar 在哪里(与 PhpStorm 一起使用):
C:\ProgramData\ComposerSetup\bin\composer.phar
【讨论】:
【参考方案5】:转到 php.exe 所在的文件夹。
C:\wamp\bin\php\php5.5.12\
在那里打开cmd,然后执行下面的命令。
php -r "readfile('https://getcomposer.org/installer');" | php
composer.phar
将下载到同一文件夹中。
在C://
驱动器中创建名为composer
的文件夹(或任何您希望的位置,对于接下来的步骤,请记住路径)。
将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
【讨论】:
感谢您解决 Windows 命令提示符和 Cygwin。我采用了您的脚本(composer.bat、composer)并使它们更通用,可以与任何 phar 一起使用,例如 phpunit、phpcs、phpmd 等。可以这么说,一个脚本来统治他们。 这是 2017 年,两年后。这只是节省了我几个小时的在线搜索时间。谢谢。【参考方案6】:这可能对某人有用:
在 Windows 7 上,如果您使用 curl 安装了 Composer,则可以在类似的路径中找到它:
C:\Users\<username>\AppData\Roaming\Composer
【讨论】:
【参考方案7】:安装 Composer
在 Windows 上,您可以使用 Composer Windows Installer。
【讨论】:
我使用这个安装程序,但有些路径中没有作曲家 @Milad,我也有同样的经历。你用的是什么windows版本?我的是 Windows 8。我也必须手动添加作曲家的路径。 @OshMansor,我当时使用的是 windows 8.1,但我切换到 windows 7 一切顺利我在 windows8、android studio、vs 2013 中遇到了很多问题......我使用 Lusitanian 的答案和它对我有用。 知道默认的 composer.json 是在哪里创建的吗?【参考方案8】:开始>计算机:属性>更改设置>高级>环境变量>路径:编辑[在";C:\<path to php folder>\php5.5.3"
行的末尾添加此字符串(不带“”)..打开cmd并输入composer
就是这样:-)
【讨论】:
【参考方案9】:好吧,现在这个问题有点过时了,因为现在有一个官方安装程序“将安装最新的 Composer 版本并设置您的 PATH,以便您可以从命令行中的任何目录调用 composer。”
您可以通过以下方式获得它:http://getcomposer.org/doc/00-intro.md#installation-windows
【讨论】:
它要求 php.exe 但我找不到任何 @atjoshi:你需要在windows上安装php。 Xampp 相当不错,而且设置起来也相对容易。【参考方案10】:另一种变体(参见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 可执行文件。然后,您还可以使用.PHAR
扩展%PATHEXT%
命令行变量,只要composer.phar
在%Path%
内,您就可以键入composer
而不是composer.phar
。
【讨论】:
【参考方案11】:当然。只需将composer.phar 放在C:\php\composer.phar
之类的位置,然后在PATH 中的某个位置创建一个名为composer.bat
的批处理文件,它执行以下操作:
@ECHO OFF
php "%~dp0composer.phar" %*
“%*”重复传递给 shell 脚本的所有参数。
然后你就可以到处乱跑composer update
了!
【讨论】:
“无法打开输入文件:composer.phar”和PATH
是正确的。救命!
然后尝试在批处理文件中编写绝对路径。
好的,与 absolute 一起工作,谢谢。即使我更喜欢相对路径:)
更通用一点:SET SUBDIR=%~dp0 php %SUBDIR%/composer.phar %*
不在问题范围内,但您可以使用console2【参考方案12】:
很抱歉,我只是想分享一下我的想法,对我来说最简单的方法是将 composer.phar 重命名为 composer.bat 并将其放入我的 PATH 中。
【讨论】:
【参考方案13】:如果将批处理放在与 composer.phar 相同的文件夹中,则更通用:
@ECHO OFF
SET SUBDIR=%~dp0
php %SUBDIR%/composer.phar %*
我会把它写成评论,但那里没有代码
【讨论】:
我在上面的答案中合并了您的代码,以使其更具可见性。以上是关于有没有办法在 Windows 上全局安装 Composer?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 Windows 中使用 npm 安装不同的节点版本?
有没有办法通过本机 C# 调用检测系统上安装了哪些 Windows 应用商店应用程序?
U盘安装WINDOWS10时提示无法在驱动器上安装WINDOWS解决办法