Composer 已安装,但得到 /usr/bin/env: php: No such file or directory

Posted

技术标签:

【中文标题】Composer 已安装,但得到 /usr/bin/env: php: No such file or directory【英文标题】:Composer installed, but get /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 【参考方案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

【讨论】:

以上是关于Composer 已安装,但得到 /usr/bin/env: php: No such file or directory的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu linux 安装composer

如何在Linux上安装Composer

Mac 安装brew和安装composer

centos7使用composer

无法安装 Composer:尽管安装了 php5-json,但缺少 json 扩展

出现错误 /usr/bin/env: node : Permission Denied