to může být případ, pokud jste si stáhli composer.phar
přímo ,
ale ne spuštěním php composer-setup.php
udělat composer.phar
spustitelný pomocí následujícího příkazu, než jej přesunete do /usr/local/bin/composer
nebo po přesunutí
sudo chmod 755 composer.phar
Skladatel-setup.php provede tuto změnu ve výchozím nastavení za nás
Na serveru Ubuntu>=16.04
PRVNÍ
sudo rm /usr/local/bin/composer
AND
cd ~/.cache/composer
chmod 755 composer-temp.phar
sudo mv composer-temp.phar /usr/local/bin/composer
Měli byste zkontrolovat oprávnění adresáře /usr/local/bin/, nikoli pouze souboru v něm. Proces musí zapsat jak soubor, tak do adresáře, který musí mít oba povoleny.
Kromě toho obecná rada:nenastavujte vždy vše na 777. Není k tomu žádný důvod a váš systém je zranitelný.
Podle řádku, který jste zveřejnili v posledním komentáři, je adresář aktuálně zapisovatelný pouze pro samotného uživatele root. To by vysvětlovalo chybu, kterou dostanete. Neměli byste ne udělejte si vlastní uživatelský účet, systémy Linux jsou víceuživatelská prostředí. Místo toho přemýšlejte o jednom z těchto přístupů:
- přidejte účet, který má spouštět
composer
do kořenového adresáře skupiny (uživatelský účet může patřit do několika skupin) a umožnit zápis do skupiny adresářů - změnit vlastnictví adresáře skupin na skupinu, které je účet členem, a umožnit zápis do skupiny adresářů
- použijte
sudo
nástroj pro instalaci a aktualizacicomposer
utility
Poslední možnost je obvykle zvolená a preferovaná. Ponechává oprávnění tak, jak jsou (konzervativní) a používá pouze zvýšená oprávnění pro úlohy údržby systému, jako je instalace a upgrade.
-
Kubuntu zobrazuje chybu při přihlášení (file:///usr/share/sddm//themes/breeze/main.qml:žádný takový soubor nebo adresář)?
-
„Nelze vytvořit adresář mezipaměti /home//.composer/cache/repo/https—packagist.org/, nebo adresář není zapisovatelný. Pokračovat bez mezipaměti“?
-
Kdy mám použít /dev/shm/ a kdy /tmp/?