【问题标题】: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$ 

【问题讨论】:

  • 然后使用sudo
  • 我试过但它说文件存在。

标签: 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

        【讨论】:

          猜你喜欢
          • 2011-05-28
          • 1970-01-01
          • 1970-01-01
          • 2016-01-01
          • 2014-03-27
          • 2023-04-03
          • 2013-06-10
          • 2021-06-01
          • 1970-01-01
          相关资源
          最近更新 更多