安装Laravel时出现错误:"./ composer.json不可写."

Dim*_*tar 21 installation laravel

这是我跑的命令

composer global require "laravel/installer"
Run Code Online (Sandbox Code Playgroud)

这是我之后得到的文字和错误:

Changed current directory to /home/dimitar/.composer
./composer.json is not writable.
Run Code Online (Sandbox Code Playgroud)

我正在运行Ubuntu 16.04 LTS和PHP 7以及Composer 1.3.0版,并从我的主文件夹运行此命令.

小智 34

检查composer.json的所有者.

ls -lh ~/.composer/composer.json
Run Code Online (Sandbox Code Playgroud)

如果它是'root',请运行:

sudo chown -R yourusername:yourusername ~/.composer/composer.json
Run Code Online (Sandbox Code Playgroud)

在.composer文件夹中,选中"cache"文件夹所有者.如果是'root',请重新运行命令,但将composer.json切换到缓存.否则,您最终可能会遇到"无法创建缓存目录"警告.

  • 我相信将整个 `.composer` 文件更改为所有者是最好的选择。为避免将来安装 laravel 时出现错误,当脚本可能尝试编写类似于供应商文件的内容时,您可能会遇到问题。`sudo chown -R yourusername:yourusername .composer` (2认同)

Ale*_*nin 5

错误说明了一切,权限有问题。我想解决这个问题的最简单方法是运行这个命令:

sudo chmod -R 775 /home/dimitar
Run Code Online (Sandbox Code Playgroud)

  • 尝试`777`,但不要在生产服务器上这样做。 (3认同)
  • 我不确定伙计,但你可以尝试,如果它会刹车,再做 777。) (2认同)