RuntimeException] поставщик не существует и не может быть создан
Я пробовал другие сообщения, которые я нашел онлайн, но никто, похоже, не работал правильно. Я работаю с этим. И я пробиваю себе путь к корню, который /var/www/
. Итак, я делаю composer install
, и у меня есть файл composer.json
. Я получаю
[RuntimeException]
vendor does not exist and could not be created.
Здесь файл
{
"name": "panique/php-login",
"type": "project",
"description": "A PHP login system embedded in a simple MVC framework",
"keywords": ["login", "auth", "user", "authentification", "mvc"],
"homepage": "https://github.com/panique/php-login",
"license": "MIT",
"authors": [
{
"name": "Panique",
"homepage": "http://careers.stackoverflow.com/panique",
"role": "Developer"
}
],
"support": {
"issues": "https://github.com/panique/php-login/issues",
"source": "https://github.com/panique/php-login"
},
"require":{
"php": ">=5.3.7",
"ircmaxell/password-compat": "1.0.*",
"phpmailer/phpmailer": "5.2.*",
"gregwar/captcha": "dev-master",
"facebook/php-sdk": "@stable",
"raveren/kint": "dev-1.0.0-wip"
}
}
Я не уверен, куда идти отсюда.
Ответы
Ответ 1
Гуглеры, не используйте композитор с sudo:
Добавьте пользователя в группу www-data (для этого действия вам необходимо выйти из системы и снова войти в систему)
sudo usermod -a -G www-data `whoami`
Укажите правильные разрешения для /var/www
sudo chown root:root /var/www
sudo chmod 755 /var/www/
Предоставьте эти разрешения вашему проекту
sudo chown -R www-data:www-data /var/www/<project>
sudo chmod -R 774 /var/www/<project>
Ответ 2
[ЭТОТ ОТВЕТ БЫЛ ПОЛНОСТЬЮ БЕЗОПАСНОСТИ И БЫЛ СПРОСЕН]
Ответ 3
Подход @Etienne Gautier в порядке.
Другое решение - просто изменить режим и владельца/группу /vendor
.
например,
sudo chown -R 775 /root-of-your-app/vendor/
sudo chown -R $USER:$USER /root-of-your-app/vendor/
Ответ 4
Ответ этьена Готье в порядке. Вы также можете попробовать это. Сначала обновите или установите ваш композитор composer update
или composer install
и дайте право доступа к каталогу вашего проекта с помощью вашего терминала:
sudo chmod -R 755 /var/www/<your_project_name>/public
а также дать разрешение продавцу реж. Используйте его, если вы не хотите давать разрешение на каталог /var/www
. Обратите внимание, что дать правильное разрешение для вашего каталога, в противном случае он будет доступен для всех.
Ответ 5
Это происходит потому, что у нас нет прав администратора, нам просто нужно поставить слово sudo, это будет выглядеть так: sudo composer install