Composer无法自我更新

Jak*_*sel 8 php composer-php

当我尝试运行composer自我更新时,我收到错误:

The file is corrupted (creating archive "/home/heytherejake/.composer/cache/composer-temp.phar" disabled by the php.ini setting phar.readonly).
Please re-run the self-update command to try again.
Run Code Online (Sandbox Code Playgroud)

我已将phar.readonly设置为Off(并且我的phpinfo反映了这一点),但错误仍然存​​在.有谁知道还有什么可能导致这个?

小智 10

最好的解决方案是删除composer然后重新安装它:

一世.查找作曲家:

which composer
Run Code Online (Sandbox Code Playgroud)

II.然后将其删除为sudo(使用从上面返回的目录)

sudo rm -rf /usr/local/bin/composer
sudo rm -rf ~/.composer/cache/
Run Code Online (Sandbox Code Playgroud)

III.然后使用apt-get安装它

sudo apt-get update
sudo apt-get install curl php5-cli git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
Run Code Online (Sandbox Code Playgroud)

IV.然后测试它是否正常工作

composer self-update
Run Code Online (Sandbox Code Playgroud)


NMC*_*NMC 8

作曲家没有更新或正常工作通常是由于两件事之一.错误许可和/或错误缓存.

要删除缓存,请使用 sudo rm -rf ~/.composer/cache/

要修复权限问题,请将composer.phar权限更改为755:

which composer
sudo chmod 755 path/to/composer
Run Code Online (Sandbox Code Playgroud)

作为解决此问题的最后一种方法,请尝试使用sudo进行更新 sudo -H composer self-update

  • 永远不要做`chmod 777`! (3认同)