Globale Installation von Composer (manuell)


84

Ich habe das Composer- Handbuch (globale Installation von Composer (manuell)) befolgt , um Composer unter Ubuntu zu installieren.

$ 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

Andere Skripte aus /usr/local/bin/Werken, aber Komponist gibt:

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

Es funktioniert nur, wenn ich den absoluten Pfad zu eingebe composer.phar. Wie kann man das beheben?

Antworten:


29

Nicht phpam Anfang hinzufügen . Rufen Sie einfach an composer.phar.


Es funktioniert, danke. Erklärung wäre toll, ich bin gespannt. Danke noch einmal.
Umpirsky

2
Es funktioniert, weil der Komponist bereits eine ausführbare Datei ist (standardmäßig hat er u + x-Rechte). Es ist also nicht erforderlich, PHP auszuführen, da Shell dies sowieso tut.
Netvision73

3
Und es gibt einen speziellen Code in der ersten Zeile von composer.phar, #!/usr/bin/env phpder Ubuntu mitteilt, dass die Datei eine PHP-Datei ist und mit dem PHP-Programm ausgeführt werden sollte.
T0xicCode

197

TLDR;

Wie auf der Composer- Website beschrieben :

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

Manuelle Methode

Ich habe einen einfacheren Weg gefunden, um Composer global zu installieren, als das im Github vorgeschriebene Handbuch readme.md. Es ist eigentlich auf der Website getcomposer.org :

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

Und wenn Sie noch fauler sind, wie ich, können Sie einen Alias ​​erstellen:

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

Auf diese Weise können Sie Composer mit just aufrufen composer


12
Nett. Der Alias ​​ist auch eine süße Note für Zwangsstörungen. Dateierweiterungen eingeben? Pfeh! Das ist für Trottel
Eierlegs

4
Faulheit, Mutter der Kreativität. Letztes Update ist das Beste!
Pierre de LESPINAY

Wenn ich starte $ sudo mv composer.phar /usr/local/bin/composerund dann versuche, etwas einzugeben, $ composererhalte ich die Fehlermeldung: bash: /usr/local/bin/composer: Permission deniedWie kann ich diese Berechtigungen ändern?
Connor Leech

@ConnorLeech You can runchmod +x /usr/local/bin/composer
Chibueze Opata

1
@KimStacks Ich halte es für sinnvoll, den Kontext beizubehalten.
Chrisjlee

28

Eigentlich empfiehlt getcomposer.org jetzt eine einfachere Methode:

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

Jetzt können Sie es einfach verwenden, composerohne sich um einen Alias ​​oder ein separates shSkript zu kümmern .


Das ist richtig.
Jack Franzen

7

Eine weitere Alternative, um einen netten composerBefehl zu erhalten, anstatt 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
Sie können sogar --filename = composer verwenden, um den Symlink-Teil zu speichern :)
magnetik

5

Zur einfacheren Ausführung habe ich / usr / local / bin / composer mit folgendem Inhalt erstellt:

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

nicht vergessen sudo chmod +x /usr/local/bin/composer.phar


3

Im Folgenden sind die Schritte aufgeführt, die Sie ausführen müssen, um Composer global zu installieren: 1. Stellen Sie vor der Installation von Composer sicher, dass auf unserem Server alle Abhängigkeiten installiert sind.

Aktualisieren Sie zunächst den Paketmanager-Cache, indem Sie Folgendes ausführen:

$ sudo apt-get update

2. Nun installieren wir die Abhängigkeiten. Wir werden brauchen

  • curl => um Composer herunterzuladen
  • php5-cli => installieren und ausführen
  • git => wird von Composer zum Herunterladen von Projektabhängigkeiten verwendet

Alles kann mit dem folgenden Befehl installiert werden:

$ sudo apt-get install curl php5-cli git

3. Composer-Installation mit einem einzigen Befehl:

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

4. Dadurch wird Composer als systemweiter Befehl namens composer unter / usr / local / bin heruntergeladen und installiert. Die Ausgabe sollte folgendermaßen aussehen:

Ausgabe:

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

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

Benutze es: php / usr / local / bin / composer

5. Führen Sie zum Testen Ihrer Installation Folgendes aus:

$ composer -V

Ausgabe:

Composer version 1.1.3 2016-06-26 15:42:08
  1. Installation erfolgreich

0

Ich habe ein einfaches Bash-Skript erstellt , das Composer automatisch für aktuelle Benutzer / alle Benutzer installiert. Sie können einen der folgenden Befehle in Ihrem Terminal verwenden, um Bash-Skript zu verwenden.

Aktueller Benutzer

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

Alle Nutzer

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

Schauen Sie sich das Wesentliche an


-1

Das könnte bei Ihnen funktionieren. Beachten Sie, dass sudohier zweimal verwendet wird.

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

1
Hallo! Willkommen bei Ask Ubuntu. Derzeit ist nicht klar, warum die Befehle das Problem des OP lösen können. Können Sie bitte Ihre Frage bearbeiten und Ihre Antwort erläutern?
Grooveplex
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.