it-swarm.com.ru

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

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

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

70
ziiweb

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

49
Maerlyn

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

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

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

Update: иногда вы не можете или не хотите скачивать с /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
97
quantme

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

Фон:

На самом деле на сайте getComposer четко указано, что установите Composer с помощью следующей команды 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 Terminal, было сказано, что Permission denied. Вроде как:

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

Ответ:

Переход по ссылке ссылка привел меня к решению, как шарм, и я благодарен этому. Я только что пропустил команду Sudo перед указанной выше командной строкой «Переместить» . Теперь моя команда Переместить выглядит следующим образом:

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

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

composer about

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

Ура!

21
Randika Vishman

Сначала установите 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
Mahendran Sakkarai

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

curl -sS https://getcomposer.org/installer | Sudo php -- --install-dir=/usr/local/bin --filename=composer
5
Tahir Yasin

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

Sudo mv composer.phar /usr/local/bin/composer
4
LeoSarli

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

Добавьте каталог, где composer.phar находится к вам PATH:

export PATH=$PATH:/yourdirectory

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

mv composer.phar composer
2
JedatKinports

Для запуска из другого места вы можете использовать программу 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
Muhammad Raihan Muhaimin

Частично это может быть связано с ОС, на которой работает ваш сервер. Недавно я перешел на новую хостинговую среду под управлением 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 при открытии сеанса, попробуйте добавить это в свой .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 должен вести себя как положено.

0
karolus

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

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
user3257693