usar tengo saber reconoce proyecto orden interno instalar instalado externo encontrĂ³ crear con composer como comando about php linux laravel composer-php sudo

php - tengo - instalar symfony con composer



Compositor: file_put_contents(./ composer.json): error al abrir la secuencia: permiso denegado (6)

Estoy tratando de instalar Prestissimo en un servidor Ubuntu 16.04, pero eso lleva a un error:

$ composer global require "hirak/prestissimo:^0.3" Changed current directory to /home/kramer65/.composer [ErrorException] file_put_contents(./composer.json): failed to open stream: Permission denied require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]...

He iniciado sesión como usuario kramer65 , por lo que no sabría por qué no puede escribir en mi carpeta de inicio. Mi reacción normal a un permission denied es usar sudo , pero el compositor siempre dice:

¡No ejecute Composer como usuario root / superusuario! Consulte https://getcomposer.org/root para más detalles.

¿Alguna idea de cómo puedo resolver esto?


En mi caso, .composer era propiedad de root, así que hice sudo rm -fr .composer y luego funcionó mi requerimiento global.

¡Ten cuidado! No quieres usar ese comando si no estás seguro de lo que estás haciendo.


En mi caso, no tengo problemas con ~/.composer .
Entonces, al estar dentro de la carpeta raíz de la aplicación Laravel, hice sudo chown -R $USER composer.lock y fue útil.


Este podría ser un caso súper marginal, pero si está utilizando Travis CI y aprovechando el almacenamiento en caché, es posible que desee borrar todo el caché y volver a intentarlo.

Solucioné mi problema cuando iba de sudo a compilaciones no sudo.


Para resolver esto, debe abrir una ventana de terminal y escribir este comando:

sudo chown -R user ~/.composer (siendo el user su usuario actual, en su caso, kramer65 )

Después de ejecutar este comando, debe tener permiso para ejecutar el comando global require de su compositor.

También es posible que deba eliminar el archivo .composer del directorio actual, para hacerlo, abra una ventana de terminal y escriba este comando:

sudo rm -rf .composer


También enfrenté este problema, pero en mi caso, estaba en el directorio equivocado. Comprueba el directorio en el que estás trabajando


Tuve este problema para instalar laravel / lumen.

Puedo resolver con el siguiente comando:

$ sudo chown -R $USER ~/.composer/