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