web-dev-qa-db-ja.com

RuntimeException]ベンダーが存在しないため作成できませんでした

オンラインで見つけた他の投稿を試しましたが、どれも正しく機能していないようです。 this で作業しています。そして、私はそのルート、つまり/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"
    }
}

ここからどこに行くべきかよくわかりません。

23
user3413366

Google社員は、composerを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>
43
Etienne Gautier

フォルダーのアクセス許可を変更する代わりに、コマンドライン(CLI)を使用するときは、単に "Sudo"を使用してパスワードを要求し、rootユーザーのパスワードを入力します。 :)より安全です。

編集すると、作曲家にSudoを使用することはもはや推奨されません。 composer=をグローバルにインストールすることで問題が解決します。通常、サーバーでファイルを編集しているときにアクセス権のエラーが発生します。

@Etienne Gautierのアプローチは問題ありません。

別の解決策は、/vendorのモードと所有者/グループを変更することです。

例えば.

Sudo chown -R 775  /root-of-your-app/vendor/
Sudo chown -R $USER:$USER /root-of-your-app/vendor/
1
Hiroki