2017-01-03 23 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'の場合は、上記のコマンドを再実行しますが、composer.jsonをキャッシュに切り替えます。 "キャッシュディレクトリを作成できません"という警告が表示されることがあります。

3

エラーには、アクセス許可に問題があると表示されています。私はこの問題を解決する最も簡単な方法は、このコマンドを実行していると思います:

sudo chmod -R 775 /home/dimitar 
+0

このコマンドを実行した後:( – Dimitar

+1

'777'を試してみてください、しかし、本番サーバー上でこれを行わない –

+1

それが働いた:これを入れて

は、あなたのcomposer.jsonファイルであり、再試行してください。 !ありがとうございました!インストール後に775パーミッションに戻すことができますか? – Dimitar

-1

あなたがグローバルにインストールしているため、変更フォルダの許可なしにsudo権限で実行することができます。

+1

ルートの下にパッケージをインストールするというアイデア:( – Vlad

1
sudo composer global package_name 

例:

sudo composer global require "laravel/installer" 

パスワード

+0

はい、それはちょうど使用する必要があります:sudo。 –

1

私はこのコードがあなたの作曲者ファイルにはないと思っています。これは、PackagistがLaravelのパッケージを見つけることができません。私は同じエラーを得た

"repositories": { 
    "packagist": { "url": "https://packagist.org", "type": "composer" } 
} 
関連する問題