获取" chmod():不允许操作" on"作曲家更新"

时间:2017-12-26 08:25:40

标签: permissions composer-php ubuntu-16.04

当我运行作曲家更新'我收到这个错误:

Writing lock file
Generating autoload files


  [ErrorException]                  
  chmod(): Operation not permitted  

*它适用于sudo,但是我必须重置所有者&权限,这真烦人... **我也尝试用〜777将〜/ .composer的所有者重置为www-data,没有效果 ***我使用的是Ubuntu 16.04 LTS + Apache / 2.4.18& php7.0.26

<小时/> 有什么想法?

1 个答案:

答案 0 :(得分:0)

chmod仅在文件所有者与运行sudo命令的所有者相同的情况下,才在没有composer update的情况下工作。

问题是错误消息没有告诉您它正在尝试chmod到哪个文件。

这取决于项目。

以详细模式运行命令将为您提供更多详细信息:

composer update -v

就我而言,它给了我一个堆栈跟踪,显示了一个名为chmod()的文件以及行号。
但是,它没有给我传递到chmod()的文件的路径。
我必须在致电echo之前添加一个简单的chmod() (不要忘记随后将其删除)。

一旦您知道哪个文件/文件夹是错误消息的负责人,请使用chown 更改其所有者。

在我的情况下(Magento 2.3),罪魁祸首是bin/magento文件,该文件必须由运行composer命令的用户所有。