正在运行的Composer返回:"无法打开输入文件:composer.phar"

时间:2014-02-10 06:49:23

标签: php symfony wamp composer-php

我是symfony2的新手,正在阅读symblog。在尝试使用数据夹具的第三章中,我尝试了命令:

php composer.phar update

但我得到了错误:

Could not open input file: composer.phar

所以我用Google搜索了一下并尝试了

php composer.phar install

但仍然得到同样的错误。所以请指导如何处理这个作曲家在symfony2中使用wamp安装新的扩展或数据包等捆绑包。

37 个答案:

答案 0 :(得分:250)

如果您按照以下说明操作:

https://getcomposer.org/doc/00-intro.md

告诉你要做以下事情:

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

然后很可能你和我一样,运行这些命令并且没有阅读页面的下一部分,告诉你不要用其全名引用composer.phar并将其缩写为可执行文件(你刚刚重命名)使用mv命令)。所以这个:

$ php composer.phar update friendsofsymfony/elastica-bundle

成为这个:

$ composer update friendsofsymfony/elastica-bundle

答案 1 :(得分:137)

我在Windows上遇到了同样的问题并使用了不同的解决方案。我使用了作曲家网站提供的Composer_Setup.exe安装文件,它进行了全局安装。

安装后,请确保PATH变量指向存储composer.phar的目录。这通常是C:\ProgramData\ComposerSetup\bin ProgramData可能是隐藏目录)。不用说,但也要确保PHP可执行文件也在PATH变量中。

然后您可以直接致电

composer install

而不是

php composer.phar install

答案 2 :(得分:95)

背景

了解有两种方法可以安装(和使用)Composer:本地作为项目目录中的文件,或全局作为系统 - 广泛的可执行文件。

在本地安装Composer只是意味着您正在将一个文件(composer.phar - 一个PHP Archive)下载到项目目录中。您必须为每个需要Composer的项目下载它。

就像要在命令行上执行的常规PHP文件一样,您必须使用PHP运行它:

php composer.phar update

这基本上告诉php可执行文件以composer.phar作为参数运行文件update

但是,如果你安装它globally,你可以让composer本身可执行,所以你可以不用php调用它(而且不必为每个项目下载它)。换句话说,你可以使用这样的作曲家:

composer update

由于您正在执行php composer.phar update,并且收到错误Could not open input file: composer.phar,因此您当前目录中可能没有composer.phar

解决方案

如果全局安装了Composer,只需运行composer update而不是php composer.phar update

如果尚未安装Composer,请使用以下命令下载PHAR:

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

这将下载installer并使用php运行它。安装程序会将实际的Composer PHAR下载到您当前的工作目录,并使其可执行。

要全局安装Composer(我建议这样做),请将文件复制到PATH中的某个位置。确切位置因操作系统和设置而异,有关详细信息,请参阅https://getcomposer.org/doc/00-intro.md#globally

就个人而言,我更喜欢在我的主目录中安装Composer,因此我不需要sudo来安装或更新composer可执行文件(这可能存在安全风险)。当我在Linux上时,我使用以下命令:

mv composer.phar ~/.local/bin/composer

答案 3 :(得分:42)

如果其他人在页面上显得这么低,但仍然没有找到合适的答案(就像我一样),请使用:

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer.phar
$ alias composer='/usr/local/bin/composer.phar'
$ composer --version
瞧,瞧!一位有效的作曲家: - )

答案 4 :(得分:12)

我发现这很有效,因为我没有安装curl。在安装了XAMPP的Windows 8上。它会将它添加到我使用.gitignore的本地构建中以避免回购

php -r "readfile('https://getcomposer.org/installer');" | php

我是从这里得到的:https://getcomposer.org/download/

答案 5 :(得分:9)

要解决此问题,您需要做的第一件事是获取最后一个版本的composer:

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

我建议你将composer.phar文件移动到全局“bin”directoy,在我的情况下(OS X)路径是:

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

比您需要创建一个易于访问的别名文件

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

如果一切正常,现在是时候验证我们的Composer版本了:

composer --version

让我的作曲家再次伟大。

答案 6 :(得分:8)

这对我有用:

composer install

没有

php composer install

答案 7 :(得分:4)

在命令行中运行以下命令:
curl -sS https://getcomposer.org/installer | php

答案 8 :(得分:3)

昨天我试图在Windows 10上安装Yii2框架,我遇到同样的问题(无法打开输入文件:composer.phar)运行此命令:

php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

问题是composer.phr文件不在当前目录中,你需要提供完整路径composer.phr之类的

php C:\ProgramData\Composer\bin\composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

或者您可以使用以下命令创建yii2项目:

 composer create-project yiisoft/yii2-app-advanced advanced 2.0.9

或者

composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9

答案 9 :(得分:3)

使用此:

php -r "readfile('https://getcomposer.org/installer');" | php

答案 10 :(得分:3)

我有同样的问题。当我将作曲家全球化时,它就解决了。现在我可以从文件夹中的任何位置启动命令。

composer update

composer require "samplelibraryyouwant"

答案 11 :(得分:2)

我使用的是Windows 8.0。在我的情况下安装或更新我只使用composer install或其他东西而不是php composer.phar。这对我有用 喜欢

composer require google/apiclient:1.*

答案 12 :(得分:2)

简单回答,导航到您已经拥有要运行的composer.json文件的目录(理想情况下是您的项目文件夹),然后将编辑器下载到同一文件夹中,然后立即运行安装命令,如下所示:

 php composer.phar install

这将自动找到composer.json并运行您需要的脚本。祝好运。对于终端巫师而言,这个东西是轻而易举的,对我们其他人来说是完全奇怪的

答案 13 :(得分:2)

嗨,朋友,请按照以下步骤在MAC OS中解决此问题

  • 步骤1:首先在终端中使用项目目录运行命令
      

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

  • 第2步:将composer.phar移动到项目目录中
      

    $ mv composer.phar /Applications/MAMP/htdocs/bashrushAPI/composer.phar

  • 第3步:设置作曲者的别名
      

    $ alias composer ='/ Applications / MAMP / htdocs / bashrushAPI / composer.phar'

  • 第4步:立即检查作曲者的版本
      

    $ composer --version

         
        

    Composer version 1.7.2 2018-08-16 16:57:12

      
  • 第5步:确认放置在下面的项目文件夹和文件
      

    $ ls

         
        

    CONTRIBUTING.md docker-compose.yml templates README.md logs tests composer.json phpunit.xml vendor composer.lock public composer.phar src

      
  • 第6步:现在更新作曲家
      

    $ composer.phar更新

         
        

    Loading composer repositories with package information Updating dependencies (including require-dev) Nothing to install or update Generating autoload files

      
  • 第7步:运行示例项目
      

    $ php composer.phar start

         
        

    php -S localhost:8080 -t public [Thu Sep 27 03:16:11 2018] ::1:51177 [200]: / [Thu Sep 27 03:16:11 2018] ::1:51178 [404]: /favicon.ico - No such file or directory

      

答案 14 :(得分:1)

enter image description here

你的composer.phar应放在上面。

答案 15 :(得分:1)

对于Windows,我制作了composer.cmd并使用了以下文本:

php c:\programs\php\composer.phar %*

在其中安装了composer.phar并将c:\ programs \ php \添加到我的路径中。

不确定为什么不能自动完成。

答案 16 :(得分:1)

对于Windows10 Pro,请按照以下步骤解决此问题。选择属性,选中“取消阻止程序”选项。运行安装程序,运行具有管理员权限的命令CMD。在命令提示符下运行 composer --version 以确保已全局安装。您现在应该可以运行 composer require drush / drush ,这是针对使用composer的drush依赖项。

答案 17 :(得分:0)

如果要在任何文件夹中创建composer.phar文件,请遵循此命令。

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('sha384', 'composer-setup.php') === 'c5b9b6d368201a9db6f74e2611495f369991b72d9c8cbd3ffbc63edff210eb73d46ffbfce88669ad33695ef77dc76976') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

答案 18 :(得分:0)

在使用以下命令之前,我一直面临着同样的问题。

composer self-update

希望这也适用于您!

如果没有,您可以在此处查看整个版本 https://blog.packagist.com/composer-2-0-is-now-available/

答案 19 :(得分:0)

我在获取package.json的脚本以运行composer dumpautoload时遇到问题。

我有文件/usr/local/bin/composer.phar和文件~/.bash_profile(在OSX上)包含:

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

这允许composer从命令行运行,但不允许脚本执行作曲家。

解决方法是这样:

$ cd /usr/local/bin
$ mv composer.phar composer
$ sudo chmod +x composer // +x allows the file to be executable, such as by CLI scripts

但这产生了此错误Could not open input file: /usr/local/bin/composer.phar

解决方法是更新~/.bash_profile(sudo nano〜/ .bash_profile),并将作曲者别名更改为:

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

# ie: `.phar` extension removed

现在一切都按预期进行。

答案 20 :(得分:0)

如果您正在使用Ubuntu / Linux,并且正在尝试运行

php composer.phar require intervention/image在命令行上。

改为使用sudo composer require intervention/image。这会给您您想要的东西。

答案 21 :(得分:0)

我在使用以下提到的命令安装Yii2时收到此错误“无法打开输入文件:composer.phar”

  

php composer.phar创建项目yiisoft / yii2-app-basic基本

对我有用的解决方案是,我将命令更改为

  

composer create-project yiisoft / yii2-app-basic basic

希望对您有帮助!

答案 22 :(得分:0)

对于通过composer安装了HomeBrew的Google员工: 为/ usr / local / bin / composer建立符号链接

ln -s /usr/local/bin/composer /usr/local/bin/composer.phar

答案 23 :(得分:0)

我进行类似操作的简单方法是 -使用cd命令提示符导航到我的项目文件夹 -在cdm中键入composer以确保其已安装 -如果是,则键入 composer require ../您打算安装的扩展名

答案 24 :(得分:0)

只需以管理员身份打开cmd并进入项目文件夹,然后使用composer命令检查其是否正常工作。

上述错误是由于无法全局访问作曲家。 因此,您需要以管理员身份运行“ cmd”。

这对我来说很好。

答案 25 :(得分:0)

我知道也许我的答案对于嵌入式QNAP服务器来说太具体了,但是我在这里尝试安装Yii结束了:

对于我来说,通过PuTTY在QNAP NAS内,尝试了上述所有技巧并将PATH更新为无效之后,唯一有效的cmd行是:

 /mnt/ext/opt/apache/bin/php /usr/local/bin/composer create-project yiisoft/yii2-app-basic basic

当然,请相应地调整您的路径...

如果我做which composer,我的回答是正确的,但是如果我做which php,则什么也不会返回。

除此之外,尝试运行

/mnt/ext/opt/apache/bin/php composer create-project yiisoft/yii2-app-basic basic

或参考

composer.phar

也没有工作...

答案 26 :(得分:0)

这样的命令:

composer.phar require intervention/image
  

错误:composer.phar:找不到命令

我通过执行以下过程解决了问题

我全局设置了作曲器,并将composer.phar重命名为composer,然后运行此命令composer require intervention/image。现在一切正常

答案 27 :(得分:0)

对我来说,它起作用了,只是您需要当前项目中的文件composer.pharcomposer.json。 命令是

php composer.phar update 

答案 28 :(得分:0)

我已通过以下步骤解决了相同的问题

  1. 使用终端打开项目目录(您正在使用的终端,即mintty )
  2. 现在按照https://getcomposer.org/download/
  3. 上的指定说明,在此目录中安装composer。
  

php -r“ copy('https://getcomposer.org/installer','composer-setup.php');”

     

php -r“ if(hash_file('SHA384','composer-setup.php')==='the-provided-hash-code'){echo'Installer authenticated';} else {echo'安装程序已损坏'; unlink('composer-setup.php');}回显PHP_EOL;“

     

php composer-setup.php   php -r“ unlink('composer-setup.php');”

  1. 现在运行命令。

现在一切正常,因为composer.phar文件在当前项目目录中可用。

谢谢

答案 29 :(得分:0)

在没有php的情况下单独使用作曲家

喜欢:

composer create-project --prefer-dist --stability=dev developeruz/yii-vue-app basic

答案 30 :(得分:0)

如果您已经安装了Composer,则可以尝试此命令:

composer update 

或者如果你想为你的作曲家添加一些包,试试这个:

composer require "/../"

答案 31 :(得分:0)

不要访问作曲家 composer composer.pher install

使用 作曲家安装

答案 32 :(得分:0)

尝试在http://getcomposer.org/download页面的Window 7计算机上安装composer时,我遇到了这个问题。由于存在现有的撰写版本(由acquia Dev Desktop工具提供),安装失败,唯一的机会是手动修复此问题。 (或删除Dev Desktop工具组合器)。

无论如何,错误信息非常简单(无法打开输入文件:composer.phar),然后我们应该告诉系统文件的位置。

编辑composer.bat文件,应该如下所示:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;%PATH%
php.exe composer.phar %*

看到composer.phar没有文件路径。当站在与composer.phar所在的文件夹不同的文件夹中时,系统将无法找到它。所以,只需完成composer.phar文件路径:

@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;;%PATH%
SET composerScript=composer.phar
php.exe "%~dp0%composerScript%" %*

重新打开你的窗口控制台,这应该可以解决问题。

  

编辑:这有一个问题因为它总是使用%~dp0%composerScript%   作为作曲家执行的文件夹。然后所有配置都在那里完成   文件夹(除了站在当前项目文件夹中),而不是在项目文件夹中。

     

到目前为止,我还没有找到一个将手动编写器安装到   在Windows上全球工作。也许您应该继续使用上面提到的用于Windows安装的composer。

答案 33 :(得分:0)

你可以做到

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

-sS标志意味着不显示进度,显示错误

然后

php composer.phar install

自: How do I get cURL to not show the progress bar?

https://packagist.org/

答案 34 :(得分:0)

使用两个步骤。

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

sudo php composer.phar update

答案 35 :(得分:0)

如果已经安装了作曲家,那么您需要知道composer.phar文件的位置(其目录)之后,您将移动到您拥有composer.json的symfony项目,并从该目录中执行您的作曲家。 phar文件。在Windows中,这是你必须要做的。

symfony project directory_where_composer.json_is>php the_directory_where_composer.phar_is/composer update 

这就是全部

答案 36 :(得分:0)

您的 composer.phar 必须位于源文件中。我有同样的问题,我只是将我的composer.phar剪切到我的 framework-standard-edition 文件夹中,这是我的整个强文项目。