【问题标题】:The installation directory "/usr/local/bin" is not writable - How to fix this? I am trying to install the composer globally安装目录“/usr/local/bin”不可写 - 如何解决这个问题?我正在尝试全局安装作曲家
【发布时间】:2019-04-14 08:55:30
【问题描述】:
尝试设置 Composer 时出现错误消息:
192:~ biancalouisedairo$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
192:~ biancalouisedairo$ php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
Installer verified
192:~ biancalouisedairo$ php composer-setup.php --install-dir=/usr/local/bin
All settings correct for using Composer
The installation directory "/usr/local/bin" is not writable
192:~ biancalouisedairo$
【问题讨论】:
标签:
javascript
php
composer-php
laravel-5.1
【解决方案1】:
这将删除所有已安装的 Composer 并为您正确安装:
sudo rm -f /usr/local/bin/composer
EXPECTED_SIGNATURE=$(curl -s https://composer.github.io/installer.sig)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');")
if [ "$EXPECTED_SIGNATURE" == "$ACTUAL_SIGNATURE" ]
then
php composer-setup.php --quiet
rm composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod 777 /usr/local/bin/composer
fi
【解决方案2】:
在命令前使用 sudo
喜欢这个sudo php composer-setup.php --install-dir=/usr/local/bin
【解决方案3】:
以防万一,在从任何赞成或批准的答案运行安装命令之前,不要忘记cd (cd 和空格)到您的家/根目录
cd
【解决方案4】:
因为你不是root用户
使用 sudo -i 给 p