无法将keys.dev.pub写入:/home/ubuntu/.composer

ree*_*ard 12 terminal ubuntu key vagrant composer-php

我按照说明安装composer(在这里找到).我只是跑了线php composer-setup.php,终端返回了:

All settings correct for using Composer
Unable to write keys.dev.pub to: /home/ubuntu/.composer
Run Code Online (Sandbox Code Playgroud)

我正在Vagrant中安装到Ubuntu VM中.

小智 33

在项目目录中安装Composer时,您可能会收到此错误.我使用Ubuntu 16,安装时遇到了同样的问题


所有设置都正确使用Composer无法将keys.dev.pub写入:/home/ubuntu/.composer

第1步:只需转到项目目录并运行命令

sudo su
Run Code Online (Sandbox Code Playgroud)

步骤2:然后尝试使用以下命令安装Composer

curl -sS https://getcomposer.org/installer | php
Run Code Online (Sandbox Code Playgroud)

  • 在项目目录中安装 Composer 的重点是它不应该推荐超级用户权限。 (3认同)

Pho*_*ixS 18

如果您之前安装的composer未完全删除,或者您运行的安装程序的用户与.composer文件夹所有者不同,则可能会发生这种情况.

您可以重命名旧文件夹(以进行备份),然后重试:

mv ~/.composer ~/.composer.old
Run Code Online (Sandbox Code Playgroud)

这比执行sudo未知的东西风险更小.


yai*_*tou 5

如果您使用sudo或与 .composer 文件夹所有者不同的用户安装了 Composer,如@PhoneixS 所述

通过运行以下命令检查是否是这种情况:

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

这可能会返回

ls -al .composer 
total 16
drwxr-xr-x  2 root root 4096 May  1 15:04 .
drwxr-xr-x 53 user-name  user-group  4096 May  1 15:07 ..
-rw-r--r--  1 root root  799 May  1 15:04 keys.dev.pub
-rw-r--r--  1 root root  799 May  1 15:04 keys.tags.pub
Run Code Online (Sandbox Code Playgroud)

然后

  • 如果 .composer 的所有者是 root 用户,则运行命令sudo, 作为休闲 sudo php composer-setup.php,将解决问题
  • 如果所有者是root,但您不想以root身份运行composer,那么您可以将.composer的owner-user:owner-group更改为当前用户,如下所示:sudo chown -R owner-user:owner-group ~/.composer
  • 如果 .composer 的所有者是与用户名不同的用户,那么您可以以该特定用户身份运行该命令,使用su


小智 5

尝试

sudo apt-get install composer
Run Code Online (Sandbox Code Playgroud)