GNU/Linux >> Tutoriels Linux >  >> Ubuntu

"Impossible de créer un répertoire de cache /home//.composer/cache/repo/https—packagist.org/, ou le répertoire n'est pas accessible en écriture. Procéder sans cache ?

débutant ici.

J'essayais d'installer MISP dans mon Ubuntu, en suivant ce guide d'installation :INSTALL.ubuntu1804.txt

En ce qui concerne cette instruction :

# Once done, install CakeResque along with its dependencies if you intend to use the built in background jobs:
cd /var/www/MISP/app
sudo -u www-data php composer.phar require kamisama/cake-resque:4.1.2

J'ai ça :

Cannot create cache directory /home/akatiubuntutest/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/akatiubuntutest/.composer/cache/files/, or directory is not writable. Proceeding without cache
./composer.json has been updated
Cannot create cache directory /home/akatiubuntutest/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache
Cannot create cache directory /home/akatiubuntutest/.composer/cache/files/, or directory is not writable. Proceeding without cache
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing monolog/monolog (1.23.0)
    Downloading: 65%^C        

J'ai essayé la solution ici Impossible de créer le répertoire de cache ! aidez-moi à résoudre ce problème lors de la création d'un projet laravel avec composer :

sudo chown -R <user> /home/<user>/.composer/cache/repo/https---packagist.org

Mais (enfin, logiquement, puisqu'il n'a pas encore été créé) j'ai eu ceci :

chown: cannot access '/home/<user>/.composer/cache/repo/https---packagist.org/': No such file or directory

J'ai déjà installé PHP et les dépendances :

# Install PHP and dependencies
sudo apt-get install libapache2-mod-php php php-cli php-gnupg php-dev php-json php-mysql php-opcache php-readline php-redis php-xml php-mbstring

Pour l'instant, je ne sais pas ce que j'ai manqué de faire.

Réponse acceptée :

il me semble que les informations de groupe manquent dans votre commande

sudo chown -R <user> /home/<user>/.composer/cache/repo/https---packagist.org

Devrait être

sudo chown -R <user>:<group> /home/<user>/.composer/cache/repo/https---packagist.org

Mais pour éviter d'autres problèmes d'autorisation, je conseillerais plutôt :

sudo chown -R <user>:<group> /home/<user>/.composer/cache

(vous aurez besoin d'accéder à d'autres dossiers)
et

sudo chown <user>:<group> /home/<user>/.composer

Pour vous assurer que votre utilisateur dispose d'autorisations suffisantes sur le dossier du compositeur global. Faites attention à la récursivité manquante afin que l'utilisateur ne possède pas les clés créées par root.
Si vous avez besoin de connaître le groupe :

groups <user>

Ubuntu
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Linux :Différence entre /dev/console , /dev/tty et /dev/tty0 ?

  3. Bash =~ Regex et Https://regex101.com/?

  4. Debian – Déplacer /var, /home vers une partition séparée ?

  5. Pourquoi /bin/sh pointe-t-il vers /bin/dash et non /bin/bash ? ?

Django static_root dans /var/www/... - aucune autorisation pour collectstatic

Comment savoir à partir de quel dossier un processus est en cours d'exécution ?

unix:///var/run/supervisor.sock aucun fichier de ce type

echo ou print /dev/stdin /dev/stdout /dev/stderr

Pourquoi < ou > sont-ils nécessaires pour utiliser /dev/tcp

Les sites Web doivent-ils vivre dans /var/ ou /usr/ selon l'utilisation recommandée ?