キャッシュディレクトリ..を作成できないか、ディレクトリが書き込み可能ではありません。Laravelでキャッシュなしで続行


127

新しいLaravelプロジェクトを作成しました。依存関係をインストールするためにターミナルに移動composerすると、次の警告が表示されます。

Cannot create cache directory /home/w3cert/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache.


/home/w3cert/.composer/cache/フォルダーでcomposerに書き込み権限がないようです
Amir Bar

2
これはsudo composer self-updateLinuxで実行した場合にも発生する可能性があります。~/.composerディレクトリはroot後でによって所有されるためです。
2017年

回答:


214

フォルダーのグループ権限を変更する

sudo chown -R w3cert /home/w3cert/.composer/cache/repo/https---packagist.org

とファイルフォルダも

sudo chown -R w3cert /home/w3cert/.composer/cache/files/

w3certがユーザー名であると想定していますが、そうでない場合は4番目のパラメーターをユーザー名に変更します。

それでも問題が解決しない場合は、

sudo chown -R w3cert /home/w3cert/.composer

これで、アプリケーションディレクトリを作成できなくなる可能性があります。その場合、htmlフォルダーまたはlaravelプロジェクトを作成しようとしているフォルダーに対して同じことを行ってください。

お役に立てれば。


14
私はこれに何度か遭遇しましたが、これはrootとして自己更新を実行した結果である可能性があることに気づきました:$ sudo composer self-update、これが〜/ .composerフォルダーとその内容は所有者を変更します。ただ、chownコマンド-Rあなたの〜/ .composer自分自身に戻って
andkrup

10
私はこの問題が発生した直後にこの問題が発生し始めたと確信していますsudo composer self-update
Pratik

4
ところで、chownは所有者を変更し、グループも変更するには、行う必要がありますw3cert:w3cert[OWNER][:[GROUP]]
Pratik

これは私がプロジェクトを作成するのに役立ちました。最初の2つのコマンドを実行した後、すべてがうまくいきました。
rahul

私は.composer/ディレクトリに行って、それsudo chown $USER -R /cacheが助けになりました。
saggzz

270

composerをインストールしたとき$ sudo~/.composerフォルダがルートによって作成されたため、コマンドを使用したことを確認してください。

これを実行して問題を修正します。

$ sudo chown -R $USER $HOME/.composer

53
に置き換え$USER$USER:$USER、ユーザーだけでなく、フォルダーのグループとその内容も修正します。
2017年

4

ユーザーに.composerのフルアクセスを付与します。

sudo chown -R 'user-name' /home/'user-name'/.composer

または

sudo chmod 777 -R /home/'user-name'/.composer

user-name システムのユーザー名です。

ターミナルでユーザー名タイプ「whoami」を取得するには:

ここに画像の説明を入力してください


3

今日も同じ問題がありました。それを試してみてください!

sudo chown -R  [yourgroup]  /home/[youruser]/.composer/cache/repo/https---packagist.org/


sudo chown -R  [yourgroup]   /home/[youruser]/.composer/cache/files/

1

次のコマンドを使用します。

sudo chown -R $USER ~/.composer/

1

最近同様の問題が発生し、ベンダーフォルダーの権限を変更する必要がありました

以下のコマンドを実行することにより:

  1. php artisan cache:clear
  2. chmod -R 777 storage vendor
  3. composer dump-autoload

この問題を解決するには、ベンダーファイルを開いて書き込むために必要なすべての権限を与える必要があります


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.