bash: composer: 命令未找到。

8

在服务器上,我想执行 composer update/install 命令,但是两者都会报错:

-bash: composer: command not found

我看到了composer.phar、composer.json和composer.lock这三个文件。我该如何找出为什么无法更新的原因?

很不幸,网站目前已经崩溃了,因为某个软件包暂时不在那里。

更新:

如果我输入以下命令:

php composer.phar install/update

一切似乎都在正常工作。我是否可以做些改变,还是必须总是以这种方式输入命令?


1
当全局安装在您的计算机上时,composer是要使用的命令。但是,使用Phar二进制文件没有任何不利之处。 - halfer
7个回答

4

您的计算机可能没有安装Composer。

在终端中运行以下命令以获取最新版本的Composer(源代码):

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"

另一种方法:https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos


尝试了第一个命令,但是出现了相同的消息:“-bash: php: command not found”。 - user9437856
@user9437856 你安装了PHP吗?顺便说一下,这个消息不同。 - Chin Leung
是的,PHP已安装。 - user9437856

3
已将其移至建议位置:
mv composer.phar /usr/local/bin/composer

在验证安装时仍然出现“composer:命令未找到”的情况?

只需创建到 /usr/bin 位置的链接,就可以解决了!

sudo ln -s /usr/local/bin/composer /usr/bin/composer

1
  1. 我安装了一个开放服务器。(openserver)
  2. 我已经安装了Composer(Composer-Setup.exe)。在Windows 10上,我将Composer添加到PATH环境变量中。如下图所示。
    enter image description here

我还找到了composer.bat文件并运行它。(C:\ProgramData\ComposerSetup\bin\composer.bat)这些步骤帮助我解决了问题。


1
这对于Windows用户来说很好。 - Qadir Hussain

1
将位于/usr/local/bin的文件从composer.phar重命名为composer

它在Windows上使用Git Bash时很有帮助。 - Daniil Dubchenko

1

如果您使用的是Linux / Unix / macOS操作系统 您可以执行以下命令:

mv composer.phar /usr/local/bin/composer

注意: 如果由于权限问题导致上述操作失败,您可能需要使用sudo再次运行它。
现在运行composer以代替php composer.phar运行Composer。
在Windows上,如果尚未设置目录到PATH环境变量中,则需要设置目录。

我遇到了相同的错误 mv: rename composer.phar to /usr/local/bin/composer: No such file or directory。 - user9437856

0

您可以在此处全局或本地下载Composer:https://getcomposer.org/doc/00-intro.md。有一个清晰简明的安装指南。一旦您安装了Composer,您就可以从终端的任何目录运行Composer命令。


0

如果您正在使用Ubuntu,并且已经使用mv函数移动了文件,但仍然遇到此错误或者出现类似"Command 'composer' is available in '/usr/local/bin/composer'"的错误,请尝试按照下面图片中所示的方式应用别名。

以下是命令:

alias composer='/usr/local/bin/composer'

alias命令的截图


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接