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:
您可以将以下内容添加到其中一个文件中:
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
至于 php7
与 php
的问题,正如 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的主要内容,如果未能解决你的问题,请参考以下文章