Невозможно записать ключи.разработка.pub to: / home / ubuntu/.композитор
Я следую инструкциям по установке composer (найти здесь). Я только что пробежал линию php composer-setup.php
и терминал возвращается:
All settings correct for using Composer
Unable to write keys.dev.pub to: /home/ubuntu/.composer
Я устанавливаю в Ubuntu VM в Vagrant.
4 ответов
при установке композитора в каталоге проекта вы можете получить эту ошибку. Im, используя Ubuntu 16, при установке я столкнулся с той же проблемой
все настройки корректны для использования Composer не удается написать ключи.разработка.pub to: / home / ubuntu/.композитор!--6-->
Шаг 1: просто перейдите в каталог проекта и запустите команду
sudo su
Шаг 2: затем попробуйте установить композитор, используя следующую команду
curl -sS https://getcomposer.org/installer | php
это может произойти, когда у вас есть предыдущая установка composer не полностью удалена или если вы используете установщик с пользователем, отличным от владельца .composer
папка.
Вы можете переименовать старую папку (чтобы иметь резервную копию) и потом опять попробовать:
mv ~/.composer ~/.composer.old
Это менее рискованно, чем выполнение чего-то неизвестного с sudo.
если вы установили composer с помощью sudo
, или с пользователем, отличным от владельца .папка композитора, как упоминалось в @PhoneixS
Регистрация если это так, работает:
ls -al ~/.composer
который может возвратить
ls -al .composer
total 16
drwxr-xr-x 2 root root 4096 May 1 15:04 .
drwxr-xr-x 53 user-name user-group 4096 May 1 15:07 ..
-rw-r--r-- 1 root root 799 May 1 15:04 keys.dev.pub
-rw-r--r-- 1 root root 799 May 1 15:04 keys.tags.pub
затем:
- если владелец .composer-пользователь root, вы можете запустить
команда с
sudo
, как перелогsudo php composer-setup.php
, исправит проблему - если владелец является root, но вы не хотите запускать composer как root, тогда вы можете изменить владельца-пользователя:владельца-группу .композитор для текущего пользователя следующим образом:
sudo chown -R owner-user:owner-group ~/.composer
- если владелец .composer-это другой пользователь, чем имя пользователя, затем вы можете запустить команду как этот конкретный пользователь, используя
su