web-dev-qa-db-fra.com

Composer n'installe pas

J'essaie d'exécuter laravel dans mon ordinateur, mais j'ai quelques difficultés à installer cette ressource sur ma machine, suivez ci-dessous un petit peu d'erreur dans le terminal de linux

Tous les paramètres sont corrects pour l'utilisation de Composer
Téléchargement...
Impossible de créer le fichier /var/www/html/composer.phar: fopen (/var/www/html/composer.phar): échec d'ouverture du flux: autorisation refusée
Échec du téléchargement: fopen (/var/www/html/composer.phar): échec de l'ouverture du flux: autorisation refusée fwrite () s'attend à ce que le paramètre 1 soit une ressource, booléen donné
Téléchargement...
Impossible de créer le fichier /var/www/html/composer.phar: fopen (/var/www/html/composer.phar): échec d'ouverture du flux: autorisation refusée
Échec du téléchargement: fopen (/var/www/html/composer.phar): échec de l'ouverture du flux: autorisation refusée
fwrite () s'attend à ce que le paramètre 1 soit une ressource, booléen étant donné
Téléchargement...
Impossible de créer le fichier /var/www/html/composer.phar: fopen (/var/www/html/composer.phar): échec d'ouverture du flux: autorisation refusée
Échec du téléchargement: fopen (/var/www/html/composer.phar): échec de l'ouverture du flux: autorisation refusée
fwrite () s'attend à ce que le paramètre 1 soit une ressource, booléen étant donné
Le téléchargement a échoué à plusieurs reprises, abandonné.
alexander @ alexander:/var/www/html $

20
Alexander

J'ai utilisé Sudo comme suit:

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

100
M.Hefny

Dépannage des problèmes d'autorisation:

Sudo

Comme l'a suggéré g-newa, le problème réside souvent dans le fait que vous n'utilisez pas Sudo, ce qui vous permet d'exécuter en tant que root. Veuillez noter que ce n'est pas parce que vous mettez deux commandes sur la même ligne que vous avez une seule commande. Lorsque vous pipe - aka Sudo find -name foo | xargs rm -rf - vous avez en fait deux commandes: find et xargs. Ce qui précède ne fonctionnera pas. En fait, tant que vous avez les privilèges de find ou, dans votre cas, curl, dans un dossier, vous n'avez même pas besoin de Sudo. Au lieu, find -name foo | Sudo xargs rm -rf serait beaucoup plus susceptible de fonctionner sans accroc. Pour les cas où Sudo est nécessaire pour les deux commandes, ajoutez-le simplement aux deux commandes.

Autorisations

Bien que ce soit un problème moins courant, il y a des moments où un fichier est sur un tel verrouillage que même un sudoer ne peut pas le toucher. Dans ce cas, assurez-vous de comprendre ce qu'est le fichier et pourquoi il est si verrouillé. Les chances sont bonnes, vous ne devriez pas jouer avec. Si, toutefois, les paramètres sont restreints par accident, vous pouvez les modifier pour autoriser la manipulation de la racine.

ls -la

Vérifie les autorisations.

Sudo chmod 700 <filename>

Modifie les autorisations pour autoriser Sudo.

6
smcjones

vous devez télécharger le fichier composer.phar dans un répertoire avec des autorisations. Si vous ne voulez pas, vous devriez courir avec Sudo

Sudo curl -sS https://getcomposer.org/installer | Sudo php
1
Jirson Tavera

Suivez simplement trois étapes simples comme il le décrit ici Vous devez exécuter toutes les commandes via CLI (interface de ligne de commande, même terminal)

  1. mettre à jour le cache du package: Sudo apt-get update
  2. installer les dépendances: Sudo apt-get install curl php5-cli git
  3. téléchargez et installez le compositeur: curl -sS https://getcomposer.org/installer | Sudo php -- --install-dir=/usr/local/bin --filename=composer
  4. pour tester composer il suffit d'exécuter composer

Voila! Tout est fini.

0
Andrew