Глобальная установка Composer (руководство)

84

Я следовал руководству composer (глобальная установка composer (manual)), чтобы установить composer в Ubuntu.

$ ll /usr/local/bin/
total 4760
drwxr-xr-x  2 root root    4096 2012-03-29 08:29 ./
drwxr-xr-x 10 root root    4096 2011-04-26 00:50 ../
-rwxr-xr-x  1 root root  410324 2012-03-29 08:28 composer.phar

Другие скрипты из /usr/local/bin/работ, но композитор дает:

$php composer.phar update Could not open input file: composer.phar

Это работает, только если я ввожу абсолютный путь к composer.phar. Как это исправить?

umpirsky
источник

Ответы:

29

Не добавляйте phpв начале. Просто позвони composer.phar.

garakkio
источник
Это работает, спасибо. Объяснение было бы здорово, мне любопытно. Еще раз спасибо.
umpirsky
2
Это работает, потому что composer уже является исполняемым файлом (по умолчанию он имеет права u + x). Таким образом, нет необходимости выполнять php, потому что shell все равно это сделает.
netvision73
3
И в первой строке composer.phar есть специальный код, #!/usr/bin/env phpкоторый сообщает ubuntu, что файл является файлом php и должен запускаться с программой php.
T0xicCode
197

TLDR;

Как описано на сайте Composer :

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

Ручной метод

Я нашел более простой способ глобальной установки composer, чем руководство, запрещенное в github readme.md . Это на самом деле на сайте getcomposer.org :

curl -s http://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/

И если вы еще более ленивы, как я, вы можете создать псевдоним:

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

Таким образом, вы можете вызвать композитора просто composer

chrisjlee
источник
12
Приятно. Псевдоним - приятное прикосновение и для навязчивых навязчивых идей. Набирать в расширениях файлов? Pfeh! Это для болванов
eggonlegs
4
Лень, мама творчества. Последнее обновление самое лучшее!
Пьер де ЛЕСПИНАЙ
когда я запускаю, $ sudo mv composer.phar /usr/local/bin/composerа затем пытаюсь набрать, $ composerя получаю сообщение об ошибке: bash: /usr/local/bin/composer: Permission deniedКак я могу изменить эти разрешения?
Коннор Лич
@ConnorLeech Вы можете запуститьchmod +x /usr/local/bin/composer
Chibueze Opata
1
@ KimStacks Я думаю, что это имеет смысл держать там контекст.
chrisjlee
28

На самом деле, getcomposer.org теперь рекомендует более простой метод:

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

Теперь вы можете просто использовать, composerне заботясь о псевдониме или отдельном shскрипте.

BenjaminRH
источник
Это верно.
Джек Франзен
7

Еще одна альтернатива, чтобы получить хорошую composerкоманду вместо composer.phar:

$ curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin
$ ln -s /usr/local/bin/composer.phar /usr/local/bin/composer
Михаэль Хертль
источник
4
Вы даже можете использовать --filename = composer, чтобы сохранить часть символической ссылки :)
magnetik
5

для облегчения выполнения я создал / usr / local / bin / composer с содержимым:

#!/bin/sh
exec /usr/local/bin/composer.phar "$@"

не забывайте о sudo chmod +x /usr/local/bin/composer.phar

bazilio91
источник
3

Ниже приведены шаги, которые необходимо выполнить для глобальной установки Composer: 1. Перед установкой Composer убедитесь, что на нашем сервере установлены все зависимости.

Во-первых, обновите кеш менеджера пакетов, выполнив:

$ sudo apt-get update

2. Теперь давайте установим зависимости. Нам понадобится

  • curl => скачать Composer
  • php5-cli => установка и запуск
  • git => используется Composer для загрузки зависимостей проекта

Все можно установить с помощью следующей команды:

$ sudo apt-get install curl php5-cli git

3. Установка Composer одной командой:

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

4. Это загрузит и установит Composer как общесистемную команду с именем composer, в / usr / local / bin. Вывод должен выглядеть так:

Выход:

\#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /usr/local/bin/composer

Используйте это: php / usr / local / bin / composer

5. Чтобы проверить вашу установку, запустите:

$ composer -V

Выход:

Composer version 1.1.3 2016-06-26 15:42:08
  1. Установка прошла успешно
Ravistm
источник
0

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

Текущий пользователь

wget -O - https://gist.github.com/EmpireWorld/1dd5f59566e186907f99dc16badc382a/raw/install-composer-local.sh | bash

Все пользователи

wget -O - https://gist.github.com/EmpireWorld/1dd5f59566e186907f99dc16badc382a/raw/install-composer-global.sh | bash

Проверьте Гист

Хасан Баят
источник
-1

Это может работать для вас. Обратите внимание, что sudoздесь используется два раза.

sudo curl -sS https://getcomposer.org/installer | sudo php
do_do_do
источник
1
Здравствуй! Добро пожаловать в Спросите Ubuntu. В настоящее время не ясно, почему команды могут решить проблему, возникающую у OP. Можете ли вы отредактировать свой вопрос и уточнить свой ответ?
Grooveplex