2017-01-03 3 views
11

это команда я запуститьПри установке Laravel у меня есть ошибка: «./composer.json не доступен для записи».

composer global require "laravel/installer" 

и это текст и ошибок я получил после того, что:

Changed current directory to /home/dimitar/.composer 
./composer.json is not writable. 

Я бегу Ubuntu 16.04 LTS и PHP 7 и композитор версии 1.3.0 и запустить эту команду из моей домашней папки.

ответ

11

Проверьте владельца composer.json.

ls -lh composer.json 

Если это 'корень', выполните команду:

sudo chown -R yourusername:yourusername .composer/composer.json 

Находясь в папке .composer, проверьте владельца папки 'кэша'. Если это «root», перезапустите команду выше, но переключите композитор.json в кеш. В противном случае вы можете получить предупреждение «Невозможно создать кеш-каталог».

3

Ошибка говорит обо всем, есть проблема с разрешениями. Я думаю, самый простой способ исправить это выполнив команду:

sudo chmod -R 775 /home/dimitar 
+0

после выполнения этой команды я получил ту же ошибку :( – Dimitar

+1

Try '777', но не делают это на производственном сервере –

+1

он работал ! спасибо много! Я могу вернуть его до 775 разрешений после установки, правильно? – Dimitar

-1

Вы можете работать с sudo привилегий без разрешения папки изменения, потому что вы установите в глобальной.

+1

Это не хорошо идея установить пакеты под root :( – Vlad

1
sudo composer global package_name 

Пример:

sudo composer global require "laravel/installer" 

ваш пароль

введите

+0

Да, это всего лишь случай использования: sudo. –

1

Я думаю, что этот код отсутствует в вашем файле композитора, который не позволяет Packagist найти пакет Laravel.

Поместите это в файле composer.json и попробуйте еще раз:.

"repositories": { 
    "packagist": { "url": "https://packagist.org", "type": "composer" } 
}