it-roy-ru.com

Есть ли способ установить Composer глобально в Windows?

Я прочитал глобальная документация по установке для 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.

Любая подсказка?

51
gremo

Конечно. Просто поместите composer.phar где-то вроде C:\php\composer.phar, затем создайте командный файл где-нибудь в пределах PATH с именем composer.bat, который выполняет следующие действия:

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

«% *» Повторяет все аргументы, передаваемые сценарию оболочки.

Тогда вы можете бегать, делая composer update все, что вы хотите!

74
Lusitanian

Установите Composer

В Windows вы можете использовать Composer Windows Installer .

19
giannis christofakis

Перейдите в папку 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 без каких-либо расширений.

выполнение команды type NUL > composer в CMD поможет сделать это быстро,

Откройте этот файл и поместите под ним содержимое.

#!/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, чтобы мы могли получить доступ к composer из cmd.

  • Показать рабочий стол.

  • Щелкните правой кнопкой мыши ярлык «Мой компьютер» на рабочем столе.

  • Нажмите Свойства.

  • Вы должны увидеть раздел Панель управления - Панель управления\Система и Безопасность\Система.

  • Нажмите Advanced System Settings в левом меню.

  • Нажмите Переменные среды в нижней части окна.

  • Выберите PATH в списке пользовательских переменных.

  • Добавьте свой путь PHP (C:\composer) к переменной PATH, отделенной От уже существующей строки точкой с запятой.

  • Нажмите ОК

Перезагрузите компьютер.

Или перезапустите Explorer только с помощью приведенной ниже команды в CMD.

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

Оригинальная статья со скриншотами здесь: http://aslamise.blogspot.com/2015/07/install-composer-manually-in-windows-7-using-cmd.html

12
Muhammed Aslam C

Это может быть полезно для кого-то:

В Windows 7, если вы установили Composer с помощью curl, его можно найти по следующему пути:

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

11
Anibe Agamah

Что ж, теперь этот вопрос немного устарел, так как теперь существует официальный установщик, который «установит последнюю версию Composer и настроит ваш PATH, чтобы вы могли просто вызывать composer из любого каталога в командной строке».

Вы можете получить его по адресу: http://getcomposer.org/doc/00-intro.md#installation-windows

5
LucasBeef

Я использую Composer-Setup.exe, и он отлично работает . На тот случай, если вам нужно знать, где находится composer.phar (для использования с PhpStorm):

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

Немного более общий, если вы поместите пакет в ту же папку, что и composer.phar:

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

Я написал бы это как комментарий, но код там не помог

3
player-one

Пуск> Компьютер: Свойства> Изменить параметры> Дополнительно> Переменные среды> ПУТЬ: Изменить [добавить эту строку (без "") в конце строки ";C:\<path to php folder>\php5.5.3"] .. открыть cmd и ввести composer Вот и все :-)

3
Muflix

Альтернативный вариант (см. Лузитанский ответ ) - зарегистрировать файлы .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
hakre

К сожалению, все хорошие ответы здесь не сработали для меня. Поэтому после установки composer на windows 10 мне просто нужно было установить system variable в environment variables, и это сработало.

 Windows 10 environment variable -> system variables

1
Overcomer

извините, что выкопал это, я просто хочу поделиться своей идеей, простой способ для меня - переименовать composer.phar в composer.bat и вставить его в мой PATH.

1
xgenvn

У меня возникла та же проблема, и когда я проверял среду в Windows 7, она указывала на c:\users\myname\appdata\composer\version\bin, которого не было ........ Файл фактически находился в C:\ProgramData\ComposerSetup\bin Исправлено расположение в настройках среды, и это работало 

1
Jose Ortiz

вы можете установить его с помощью этой командной строки 

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