Как запустить composer из любой точки мира?
Я только что установил composer в моем /usr/bin папка, поэтому, когда из этой папки я запускаю php composer.phar Я получаю справочную информацию о композиторе. Но, когда я пытаюсь запустить то же самое из другой папки, я получаю Could not open input file: composer.phar.
как позвонить php composer.phar отовсюду без проблем?
10 ответов:
композитор.phar может быть запущен сам по себе, не нужно префикс его с
php. Это должно решить вашу проблему (находясь в разнице $PATH bash и php include_path).
можно сделать глобальные установки:
поскольку Composer работает с текущим рабочим каталогом, его можно установить системным способом.
- изменить в каталог в вашем пути, как
cd /usr/local/bin- Get Composer
curl -sS https://getcomposer.org/installer | php- сделать phar исполняемый
chmod a+x composer.phar- перейдите в каталог проекта
cd /path/to/my/project- используйте Composer как обычно
composer.phar install- дополнительно вы можете переименовать
composer.pharдоcomposerчтобы было прощеобновление: иногда вы не можете или не хотите загружать в
/usr/local/bin(некоторые испытали проблемы с разрешениями пользователя или ограниченный доступ), в этом случае вы можете попробовать это
- открыть терминал
curl -sS http://getcomposer.org/installer | php -- --filename=composerchmod a+x composersudo mv composer /usr/local/bin/composer
как запустить Composer из любого места (на MacOS X) через терминал
Справочная информация:
на самом деле на веб-сайте getComposer четко указано, что установите композитор с помощью следующей команды curl,
curl -sS https://getcomposer.org/installer |phpи он, безусловно, делает то, что он предназначен для этого. И тогда он говорит, чтобы переместить композитор.фар в каталоге / 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 mv composer.phar /usr/local/bin/composer Password:он непосредственно предлагает вам аутентифицировать себя и посмотреть, авторизованы ли вы. Поэтому, если вы введете действительный пароль, то перемещение будет сделано, и вы можете просто проверить, установлен ли composer глобально, используя следующую строку.
composer aboutЯ надеюсь, что этот ответ помог вам расширить свой взгляд и, наконец, решить вашу проблему.
Ура!
Сначала установите композитор, как указано в 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затем номер версии.надеюсь, что это поможет кому-то.
просто запустите эту команду для установки composer глобально
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
просто переместите его в
/usr/local/binпапка и удалить расширениеsudo mv composer.phar /usr/local/bin/composer
для запуска его из другого места вы можете использовать программу composer, которые поставляются с программой. Это в основном сценарий bash. Если у вас его нет, вы можете создать его, просто скопировав следующий код в текстовый файл
#!/bin/sh dir=$(d=$(dirname ""); 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
для MAC и LINUX используйте следующую процедуру:
добавить каталог, где композитор.phar находится к вам путь:
export PATH=$PATH:/yourdirectoryа затем переименовать композитор.phar, на композитора:
mv composer.phar composer
вы можете сделать простую глобальную установку, чтобы запустить его из любого места
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, в любом каталоге, с которым вы работаете.
некоторые из них могут быть связаны с ОС, на которой работает ваш сервер. Недавно я сделал миграцию в новую среду хостинга под управлением Ubuntu. Добавление этого псевдонима
alias composer="/path/to/your/composer"to .bashrc или .bash_aliases не работал сначала по двум причинам:сервер был запущен csh, а не bash, по умолчанию. Чтобы проверить, если это проблема в вашем случае, запустить
echo. Если то, что возвращается-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 при открытии сеанса, попробуйте добавить это в свой .профиль (это если ваш скрипт находится .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должны вести себя, как ожидалось.