【问题标题】:Composer installed, but get /usr/bin/env: php: No such file or directoryComposer 已安装,但得到 /usr/bin/env: php: No such file or directory
【发布时间】:2017-10-08 06:58:56
【问题描述】:

在 CentOS 7 上,我安装了 PHP 7.1。

然后我安装了composer:

cd /tmp
curl -sS https://getcomposer.org/installer | php71     --> used php71 instead of php, php didn't work
mv composer.phar /usr/local/bin/composer

然后,当使用composer 时,我得到:

/usr/bin/env: php: No such file or directory

当使用sudo composer时,我得到:

sudo: composer: command not found

【问题讨论】:

  • 您可以将/usr/bin/php 符号链接到/usr/bin/php71。 (或者无论它在哪里......)
  • 您是否使作曲家可执行? chmod a+x composer
  • 我运行了这个命令,composer 现在可以工作了:sudo ln -s /usr/bin/php71 /usr/bin/php

标签: php centos composer-php centos7


【解决方案1】:

您需要将/usr/local/bin 添加到您的PATH 变量中。最简单的方法是将其放入您的个人资料或位于以下任一位置的 bash_profile:

  • ~/.profile
  • ~/.bash_profile

您可以将以下内容添加到其中一个文件中:

export PATH="$PATH:/usr/local/bin/"

更多详情请见:https://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path

如果您在添加时已登录,则可以强制 Linux 再次读取文件并更新路径(一旦进行更改),在 bash 提示符下使用 source

source ~/.bash_profile

至于 php7php 的问题,正如 Alex 所建议的,您可以创建一个符号链接,使其工作起来有点像别名。

【讨论】:

  • 我将在此处添加一件事:您的里程可能因特定用例而异。当我将export PATH="$PATH:/usr/local/bin/" 添加到我的.bash_aliases 时,运行which php 返回/usr/local/bin//php。所以,我修改为export PATH="$PATH:/usr/local/bin",效果很好。
【解决方案2】:

正如@alexhowansky 建议的in a comment,我运行了以下命令:

sudo ln -s /usr/bin/php71 /usr/bin/php

现在 composer 命令可以工作了。

【讨论】:

    【解决方案3】:

    这对我有用 [Centos 7 with php 7.1] :
    百胜安装php71w-cli

    【讨论】:

      【解决方案4】:

      你需要安装cli包。

      yum install php71u-cli 是我需要为 IUS php 做的事情。

      【讨论】:

        【解决方案5】:

        当您在本地安装 composer 时会出现此问题。

        要使其全局可执行,请在终端中运行以下命令,

        sudo mv composer.phar /usr/bin/composer
        

        【讨论】:

          猜你喜欢
          • 2014-01-20
          • 2021-03-28
          • 2015-07-28
          • 2014-12-02
          • 2015-10-07
          • 1970-01-01
          • 2017-08-07
          • 2018-12-23
          • 2014-11-06
          相关资源
          最近更新 更多