作曲家:找不到命令

Posted

技术标签:

【中文标题】作曲家:找不到命令【英文标题】:Composer: Command Not Found 【发布时间】:2016-03-05 20:10:46 【问题描述】:

在包含我的 composer.phar 文件的目录中,我无法执行任何 composer 命令。

执行时可以看到 Composer 正在运行

php composer.phar 

但是任何直接的作曲家语句都会失败。

不确定是否重要,但 Composer 包含在克隆存储库中。

我只想安装一个 Oauth 库,然后可能几个月都不会再接触 Composer,所以我不需要在全局范围内运行它。我只是很困惑为什么我不能从这个目录中运行 Composer。

【问题讨论】:

Windows、Mac 还是 Linux 机器? 什么是“直接作曲家声明”? php composer.phar require foo/bar 我们需要更多信息才能在此处提供帮助。你有错误信息吗?您尝试运行哪个命令失败了? 一个示例语句是“composer -v”。我收到命令未找到错误。我在 Mac 上 【参考方案1】:

当您在本地安装了 composer 时会出现此问题。 要使其全局可执行,请在终端中运行以下命令

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

对于 CentOS 7,命令是

sudo mv composer.phar /usr/bin/composer

【讨论】:

这非常适合 OSX 10.10 上的 composer 1.3.1,谢谢 "-- sudo mv composer.phar /usr/local/bin/composer" 或 "sudo mv composer.phar /usr/local/bin/composer" 如果您实际使用代码块,它会有所帮助 对我来说,打开新控制台后该命令已经生效(生效) 谢谢,工作。你知道吗,自从我在 unix/debian 上做东西以来的 12 年里,从来没有发生过我发现的其中一个命令一开始就起作用了?总是有错误,我总是必须用谷歌搜索并修复它..bla.bla..【参考方案2】:

我正在使用 CentOS 并且遇到了同样的问题。

我将/usr/local/bin/composer 更改为/usr/bin/composer 并且成功了。

运行以下命令:

curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/bin/composer

验证 Composer 是否安装

composer --version

【讨论】:

这就是解决我在 Amazon AWS CentOS 上的问题 这解决了我的问题 sudo mv composer.phar /usr/bin/composer 这对我有用,谢谢@bsb【参考方案3】:

您的composer.phar 命令缺少可执行标志,或者它不在路径内。

第一个问题可以用chmod +x composer.phar 来解决,第二个问题可以用./composer.phar -v 来解决。

您必须为不在路径中的可执行文件添加对 Unix 中当前路径的显式引用的前缀,以避免进入一个目录,该目录的可执行文件名称看起来像一个普通命令,但是不是。想想当前目录中的cat,它不会列出文件,而是删除它们。

解决第二个问题的替代方法和更好的方法是将composer.phar 文件放入路径中提到的位置

【讨论】:

为当前目录的引用添加前缀有效,./composer.phar -v。感谢您的回答,也感谢您的解释!【参考方案4】:

MacOS: composer 现在可以在 brew 上使用(在 Php7+ 上测试):

brew install composer

Install instructions on the Composer Docs page 在其他方面非常重要。

【讨论】:

【参考方案5】:

这是 ma​​c 或 ubuntu 用户,在终端上试试这个

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

或者ma​​c brew可以试试

brew install composer

【讨论】:

【参考方案6】:

首先我在 bash / zsh 配置文件上设置了别名。

alias composer="php /usr/local/bin/composer.phar"

然后我将 composer.phar 移至/usr/local/bin/

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

然后通过运行使作曲家可执行

sudo chmod +x composer

【讨论】:

【参考方案7】:

第一步:打开你的终端

第二步:运行下面的命令

          curl -sS https://getcomposer.org/installer | php

第3步:安装后运行以下命令

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

第 4 步:打开 bash_profile 文件,按照以下步骤创建别名

           vim ~/.bash_profile

第 5 步:在 bash_profile 文件中添加以下行

          alias composer="php /usr/local/bin/composer.phar"

第 6 步:关闭终端并重新打开终端并运行以下命令 作曲家

【讨论】:

在运行此命令时 sudo mv composer.phar /usr/local/bin/ get bolow issue sudo: /etc/sudo.conf is world writable sudo: /usr/bin/sudo must beowned by uid 0 并设置 setuid 位【参考方案8】:

https://getcomposer.org/download/ 它可能会有所帮助

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8')  echo 'Installer verified';  else  echo 'Installer corrupt'; unlink('composer-setup.php');  echo PHP_EOL;"
php composer-setup.php

此代码适用于 ubuntu 和 wsl2。

【讨论】:

【参考方案9】:

打开终端并运行以下命令,

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

【讨论】:

以上是关于作曲家:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

为啥找不到 composer 命令?

超越代码暴露 |暴露:在linux中找不到命令错误

codecept:找不到命令

找不到作曲家phpunit psr-4自动加载类

安装 composer 后找不到 ~/.composer 文件夹

作曲家:找不到课,找不到我错的地方