首页 > 解决方案 > 调用 rename() 时 Composer 自我更新错误异常“Permission Denied”

问题描述

因此,每当我运行composer self-updatecomposer selfupdate出现以下错误时:

Composer 错误的输出

[ErrorException]
重命名(/Users/jrobinson/.composer/cache/composer-temp.phar,/usr/local/bin/composer):权限被拒绝

我不太确定发生了什么事。我想我可能搞砸了我的.bash_profile文件。在我的机器上安装 MySQL 并更新我的.bash_profile中的第一行之前,我没有遇到这个问题。

我查看了其他文章,并尝试使用其下载页面上的 getcomposer.org 命令重新安装。这些解决方案都没有解决我的问题。所以请不要将此标记为重复问题,因为 SO 上的任何解决方案都没有帮助我解决这个问题。

这是我的 .bash_profile 文件内容。

export PATH="~/.composer/vendor/bin:$PATH:/usr/local/mysql/bin"
export EDITOR='sub -w'

这是在文件夹ls -la中运行的命令。/usr/local/bin

/usr/local/bin 中 ls la 命令的输出

目标

能够在这一切结束时从我的终端运行composer self-update命令和命令。mysql

标签: mysqlbashcomposer-php

解决方案


看起来 Composer 安装在 中/usr/local/bin,因此您可能是以 root 身份进行的。要更新它,您还需要成为 root - 尝试使用 sudo:

sudo -H composer self-update

推荐阅读