отказано в разрешении композитору в / usr / local/bin/
Я следил за документацией по https://getcomposer.org/doc/00-intro.md#globally чтобы установить composer глобально в arch linux. Когда я делаю composer self-update
, Я получаю это сообщение:
[ErrorException]
rename(/home/hannes/.composer/cache/composer-temp.phar,/usr/local/bin/composer): Permission denied
разрешения /usr/local/bin/
(я их поменял на 777, но это не помогло):
-rwxrwxrwx 1 hannes users 1104202 30. Mai 18:07 composer
в моем домашнем каталоге я сделала это:
sudo chmod -R 777 .composer/
на /etc/php/php.ini
на open_basedir
выглядит так:
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/usr/local/bin/
я тоже пробовал sudo composer self-update
но это не сработало, как ну и, возможно, это не правильный путь. (?). Что еще я могу сделать, чтобы это сработало?
7 ответов
это может быть так, если вы скачали composer.phar
непосредственно
но не работает php composer-setup.php
сделать composer.phar
исполняемый файл со следующей командой, прежде чем переместить его в /usr/local/bin/composer
или
sudo chmod 755 composer.phar
композитор-установки.php сделает это изменение для нас по умолчанию
используйте команду sudo для любой команды, которая записывает в корневые файлы папки. У меня получилось.
используйте sudo "ваша команда"
вы должны проверить разрешения каталога / usr/local/ bin/, а не только файл внутри. Процесс должен записать как файл, так и в каталог, который должен быть предоставлен.
кроме того, общий намек: не всегда устанавливайте все на 777. Для этого нет причин, и это делает вашу систему уязвимой.
согласно строке, которую вы разместили в последнем комментарии, каталог в настоящее время доступен для записи только для пользователя root себя. Это объясняет ошибку, которую вы получаете. Вы должны не сделайте свою собственную учетную запись пользователя владельцем, системы Linux-это многопользовательские среды. Вместо этого подумайте об одном из этих подходов:
- Добавить учетную запись, предназначенную для выполнения
composer
в корень группы (учетная запись пользователя может принадлежать нескольким группам) и сделать группу каталогов записываемой - измените владельца группы каталога на группу, членом которой является учетная запись и сделайте группу каталогов доступной для записи
- использовать
sudo
программа для установки и обновленияcomposer
утилиты
последний вариант является обычно выбранным и предпочтительным. Он оставляет разрешения (консервативными) и использует только повышенные привилегии для заданий обслуживания системы, таких как установка и обновление.
даже после перемещения файла через sudo mv composer.phar /usr/local/bin/composer
Я получал ошибку разрешения при попытке запустить
на Ubuntu SRV 16.04
первый
sudo rm /usr/local/bin/composer
и
cd ~/.cache/composer
chmod 755 composer-temp.phar
sudo mv composer-temp.phar /usr/local/bin/composer
Это сделало работу для меня на Centos 7
chown -R apache:apache path/to/composer
chmod 755 path/to/composer