【问题标题】: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 上

标签: php composer-php


【解决方案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
          

          【讨论】:

            猜你喜欢
            • 2017-06-20
            • 2014-09-21
            • 2017-05-31
            • 2020-06-22
            • 2017-02-06
            • 1970-01-01
            • 2015-07-04
            • 2021-06-14
            • 2016-07-28
            相关资源
            最近更新 更多