无法更改许可或删除 /root/.composer目录



这是场景。我有一个带有作曲家安装的PHP Docker,然后我尝试使用其他存储库中的作曲家软件包并进行作曲家更新。我有以下错误:

无法创建Cache Directory/root/.composer/cache/repo/https--packagist.org/或目录不写。没有缓存的行程

我知道/root/.composer目录有问题。我试图更改许可并删除它,但我无法:

这是屏幕截图

基本上,我无法使用"/root/.composer"做任何事情。如何更改权限或删除此文件夹?

我自己找到了一个解决方案。问题是安装作曲家的方法。

此序列将导致上述错误:

  1. dockerfile

RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" RUN php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" RUN php composer-setup.php --filename=composer RUN php -r "unlink('composer-setup.php');" RUN mv composer.phar /usr/local/bin/composer

  1. 运行Docker-Compose

docker-compose up -d

解决方案:

  1. dockerfile

请勿从Dockerfile安装作曲家

  1. 运行Docker-Compose

docker-compose up -d

  1. 在容器内部 - 安装作曲家

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php --filename=composer php -r "unlink('composer-setup.php');" mv composer.phar /usr/local/bin/composer

相关内容

  • 没有找到相关文章

最新更新