Как запустить composer из любого места?


Я только что установил composer в свою папку /usr/bin, поэтому, когда я запускаю из этой папки php composer.phar, я получаю справочную информацию о composer. Но, когда я пытаюсь запустить то же самое из другой папки, я получаю Could not open input file: composer.phar.

Как позвонить php composer.phar отовсюду без проблем?

Author: ziiweb, 2012-07-04

10 answers

Composer.phar можно запускать самостоятельно, не нужно добавлять к нему префикс php. Это должно решить вашу проблему (находясь в разнице между $PATH bash и include_path php).

 47
Author: Maerlyn, 2012-07-04 17:34:38

Вы можете выполнить глобальную установку :

Поскольку Composer работает с текущим рабочим каталогом, его можно установить в масштабах всей системы.

  1. Перейдите в каталог на вашем пути, например cd /usr/local/bin
  2. Получить композитора curl -sS https://getcomposer.org/installer | php
  3. Сделайте phar исполняемым chmod a+x composer.phar
  4. Перейдите в каталог проекта cd /path/to/my/project
  5. Используйте Composer, как обычно composer.phar install
  6. При желании вы можете переименовать composer.phar чтобы composer чтобы сделать это проще

Обновление: Иногда вы не можете или не хотите загружать по адресу /usr/local/bin (у некоторых возникли проблемы с разрешениями пользователей или ограниченный доступ), в этом случае вы можете попробовать это

  1. Открыть терминал
  2. curl -sS http://getcomposer.org/installer | php -- --filename=composer
  3. chmod a+x composer
  4. sudo mv composer /usr/local/bin/composer
 91
Author: quantme, 2016-03-26 18:50:31

Как запустить Composer Из Любого места (на macOS X) через терминал

Предыстория:

На самом деле на веб-сайте getComposer четко указано, что установите композитора с помощью следующей команды curl,

curl -sS https://getcomposer.org/installer |php

И он, безусловно, делает то, для чего предназначен. И затем он говорит переместить composer.phar в каталог /usr/local/bin/composer, а затем composer будет доступен глобально, используя следующую командную строку в терминал!

mv composer.phar /usr/local/bin/composer

Вопрос:

Итак, проблема, которая приводит меня к Google, заключается в том, что, когда я выполнил приведенную выше строку в терминале Mac OS X, в ней говорилось, что в разрешении отказано. Например, следующим образом:

mv: rename composer.phar to /usr/local/bin/composer: Permission denied

Ответ:

Следуя ссылке , я как по волшебству нашел решение, и я благодарен за это. То, что я только что пропустил, было командой sudo перед указанной выше командной строкой "Переместить". Теперь моя команда перемещения выглядит так следует:

sudo mv composer.phar /usr/local/bin/composer
Password:

Он напрямую предлагает вам пройти аутентификацию и проверить, авторизованы ли вы. Поэтому, если вы введете действительный пароль, перемещение будет выполнено, и вы можете просто проверить, установлен ли composer глобально, используя следующую строку.

composer about

Я надеюсь, что этот ответ помог вам расширить свой кругозор и, наконец, решить вашу проблему.

Ура!

 20
Author: Randika Vishman, 2017-05-23 11:47:29

Сначала установите composer, как указано в документации по установке composer . Я просто добавил сюда для справки.

curl -sS https://getcomposer.org/installer | php

, а затем переместите файл в папку "/usr/local/bin".

sudo mv composer.phar /usr/local/bin/composer

Попробуйте запустить composer -V. Если вы получаете вывод, подобный Composer version, за которым следует номер версии, то композитор успешно установлен.

Если вы получаете какие-либо выходные данные, такие как composer: command not found, используйте следующую команду, чтобы создать псевдоним для композитора. Так оно и будет выполняется глобально.

alias composer='/usr/local/bin/composer'

Теперь, если вы запустите composer -V, это означает, что вы получите вывод в виде Composer Version, за которым следует номер версии.

Надеюсь, это кому-нибудь поможет.

 13
Author: Mahendran Sakkarai, 2015-05-11 05:12:32

Просто запустите эту команду для глобальной установки composer

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
 5
Author: Tahir Yasin, 2015-10-05 08:45:19

Просто переместите его в папку /usr/local/bin и удалите расширение

sudo mv composer.phar /usr/local/bin/composer
 4
Author: LeoSarli, 2017-02-11 12:16:47

Для запуска из другого места вы можете использовать программу composer, которая поставляется вместе с программой. Это в основном сценарий bash. Если у вас его нет, вы можете создать его, просто скопировав следующий код в текстовый файл

#!/bin/sh

dir=$(d=$(dirname "$0"); cd "$d" && pwd)

if command -v 'cygpath' >/dev/null 2>&1; then
  dir=$(cygpath -m $dir);
fi

dir=$(echo $dir | sed 's/ /\ /g')
php "${dir}/composer.phar" $*

Затем сохраните файл в папке bin и назовите его composer без расширения файла. Затем добавьте папку bin в переменную среды f

 1
Author: Muhammad Raihan Muhaimin, 2013-06-07 05:08:56

Для MAC и LINUX используйте следующую процедуру:

Добавьте каталог, в котором находится composer.phar, к вашему ПУТИ:

export PATH=$PATH:/yourdirectory

А затем переименуйте composer.phar в composer:

mv composer.phar composer
 1
Author: JedatKinports, 2017-03-15 21:21:52

Вы можете выполнить простую глобальную установку, чтобы запустить ее из любого места

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

Https://getcomposer.org/doc/00-intro.md#globally веб-сайт рекомендует этот способ. Хорошо работал на Ubuntu 14.04 без проблем. Таким образом, вам не нужно делать в качестве примера php compomser.phar show, вы просто делаете composer show в любом каталоге, с которым вы работаете.

 0
Author: user3257693, 2015-03-10 08:33:20

Отчасти это может быть связано с операционной системой, на которой работает ваш сервер. Недавно я выполнил миграцию в новую среду хостинга под управлением Ubuntu. Добавление этого псевдонима alias composer="/path/to/your/composer" в .bashrc или .bash_aliases сначала не работало по двум причинам:

По умолчанию на сервере был запущен csh, а не bash. Чтобы проверить, является ли это проблемой в вашем случае, запустите echo $0. Если возвращаемое значение равно -csh, вы захотите изменить его на bash, , так как некоторые процессы, выполняемые Composer, завершатся неудачно с использованием для csh/tcsh в.

Чтобы изменить его, сначала проверьте, доступен ли bash на вашем сервере, запустив cat /etc/shells. Если в возвращенном списке вы видите bin/bash, вы можете изменить значение по умолчанию на bash, выполнив chsh -s /bin/csh.

Теперь, на этом этапе, вы должны иметь возможность запускать Composer, но обычно в Ubuntu вам придется загружать скрипт на каждом сеансе, используя свои сценарии Bash, запустив source ~/.bashrc или source ~/.bash_profile. Это связано с тем, что в большинстве случаев Ubuntu не будет загружать ваш скрипт Bash, так как он загружает .profile как сценарий по умолчанию.

Чтобы загрузить свои сценарии Bash при открытии сеанса, попробуйте добавить это в свой .профиль (это если ваш сценарий Bash .bashrc - измените соответственно, если .bash_profile или другой):

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

Для тестирования закройте сеанс и перезагрузите его. Если он работает правильно, запуск composer -v или which composer должен вести себя так, как ожидалось.

 0
Author: karolus, 2018-10-04 12:01:06