Composer: Verzeichnis kann nicht erstellt werden

3
(1)

Wer auf einem Server zum Beispiel KeyHelp installiert hat und mittels SSH Composer nutzen möchte, stößt auf ein Hindernis. Composer verweigert die Installtion im www- bzw. files-Verzeichnis.

All settings correct for using Composer
Unable to create Composer home directory “/home/users/NAME/.config/composer”: mkdir(): Permission denied

Auch bringt vermutlich der Parameter --install-dir=bin oder ähnliches nichts, aber mit einer kleinen Änderung im Script klappt es 🙂

Vorbereitungen

Die folgenden Sachen werden im Terminal via SSH vorgenommen.

In das gewünschte Verzeichnis wechseln

cd ~/files

Composer von Seite getcomposer.org/download/ herunterladen, dazu in der Box wo php steht, nach und nach ausführen.

Öffnen

nano composer-setup.php

Suchen

    $home = getenv('COMPOSER_HOME');

Ersetzen

    $home = getenv('COMPOSER_HOME').'/files';

Speichern & beenden

Die Anpassung kann mit Strg + O und Enter gespeichert werden und mit Strg + X beendet werden.

Ausführen

Damit nun die geänderte Variante getestet werden kann, einfach das Script

php composer-setup.php

ausführen und beobachten, dass keine Fehlermeldung erscheint.

Ergebnis

All settings correct for using Composer
Downloading...
Composer (version 1.10.13) successfully installed to: /home/users/USER/files/composer.phar
Use it: php composer.phar

Im Ordner befindet sich nun ein versteckter Ordner .config und die Datei composer.phar

Abschluss

Nach erfolgreichem Abschluss kann die Datei gelöscht werden

rm composer-setup.php

Das Script kann nun folgendermaßen gestartet werden

php composer.phar

Beispielausgabe

   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.10.13 2020-09-09 11:46:34
Usage:
  command [options] [arguments]
Options:
  -h, –help                     Display this help message
  -q, –quiet                    Do not output any message
  -V, –version                  Display this application version
      –ansi                     Force ANSI output
      –no-ansi                  Disable ANSI output
  -n, –no-interaction           Do not ask any interactive question
      –profile                  Display timing and memory usage information
      –no-plugins               Whether to disable plugins.
  -d, –working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      –no-cache                 Prevent use of the cache
  -v|vv|vvv, –verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Available commands:
  about                Shows the short information about Composer.
  archive              Creates an archive of this composer package.
  browse               Opens the package’s repository URL or homepage in your browser.
  cc                   Clears composer’s internal package cache.
  check-platform-reqs  Check that platform requirements are satisfied.
  clear-cache          Clears composer’s internal package cache.
  clearcache           Clears composer’s internal package cache.
  config               Sets config options.
  create-project       Creates new project from a package into given directory.
  depends              Shows which packages cause the given package to be installed.
  diagnose             Diagnoses the system to identify common errors.
  dump-autoload        Dumps the autoloader.
  dumpautoload         Dumps the autoloader.
  exec                 Executes a vendored binary/script.
  fund                 Discover how to help fund the maintenance of your dependencies.
  global               Allows running commands in the global composer dir ($COMPOSER_HOME).
  help                 Displays help for a command
  home                 Opens the package’s repository URL or homepage in your browser.
  i                    Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  info                 Shows information about packages.
  init                 Creates a basic composer.json file in current directory.
  install              Installs the project dependencies from the composer.lock file if present, or falls back on the composer.json.
  licenses             Shows information about licenses of dependencies.
  list                 Lists commands
  outdated             Shows a list of installed packages that have updates available, including their latest version.
  prohibits            Shows which packages prevent the given package from being installed.
  remove               Removes a package from the require or require-dev.
  require              Adds required packages to your composer.json and installs them.
  run                  Runs the scripts defined in composer.json.
  run-script           Runs the scripts defined in composer.json.
  search               Searches for packages.
  self-update          Updates composer.phar to the latest version.
  selfupdate           Updates composer.phar to the latest version.
  show                 Shows information about packages.
  status               Shows a list of locally modified packages, for packages installed from source.
  suggests             Shows package suggestions.
  u                    Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  update               Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  upgrade              Upgrades your dependencies to the latest version according to composer.json, and updates the composer.lock file.
  validate             Validates a composer.json and composer.lock.
  why                  Shows which packages cause the given package to be installed.
  why-not              Shows which packages prevent the given package from being installed.

Alle Angaben die hier genannten wurden, wurden selber getestet, dennoch übernehme ich keinerlei Haftung.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 3 / 5. Anzahl Bewertungen: 1

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.