Running Composer返回:"无法打开输入文件:composer.phar"

use*_*745 198 php wamp symfony composer-php

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

php composer.phar update

但是我得到了错误:

Could not open input file: composer.phar

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

php composer.phar install
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*ini 262

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

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

其中告诉您执行以下操作:

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
Run Code Online (Sandbox Code Playgroud)

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

$ php composer.phar update friendsofsymfony/elastica-bundle
Run Code Online (Sandbox Code Playgroud)

变成这样:

$ composer update friendsofsymfony/elastica-bundle
Run Code Online (Sandbox Code Playgroud)

  • 要记住的是,如果你正确安装它(在Windows上)并将其添加到你的环境的PATH变量,那么你不需要输入php composer.phar而是使用composer. (36认同)

Kim*_*y W 141

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

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

然后你可以简单地打电话

composer install
Run Code Online (Sandbox Code Playgroud)

代替

php composer.phar install
Run Code Online (Sandbox Code Playgroud)

  • 这最终有效,我不明白为什么我无法在作曲家网站上的任何地方找到这些信息.... (5认同)
  • 谢谢!这在Composer文档的"基本用法"部分中没有提到.. https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies (3认同)

Nic*_*tel 97

背景

知道有两种方法可以安装(和使用)Composer:在本地作为项目目录中的文件,或全局作为系统范围的可执行文件.

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

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

php composer.phar update
Run Code Online (Sandbox Code Playgroud)

这基本上告诉php可执行文件composer.phar使用updateas参数运行文件.

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

composer update
Run Code Online (Sandbox Code Playgroud)

由于您正在执行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
Run Code Online (Sandbox Code Playgroud)

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

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

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

mv composer.phar ~/.local/bin/composer
Run Code Online (Sandbox Code Playgroud)


Sta*_*ers 47

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

$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer.phar
$ alias composer='/usr/local/bin/composer.phar'
$ composer --version
Run Code Online (Sandbox Code Playgroud)

瞧!一位工作作曲家:-)


pur*_*ool 12

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

php -r "readfile('https://getcomposer.org/installer');" | php
Run Code Online (Sandbox Code Playgroud)

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


Ach*_*umi 11

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

curl -sS https://getcomposer.org/installer | php
Run Code Online (Sandbox Code Playgroud)

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

mv composer.phar /usr/local/bin/composer.phar
Run Code Online (Sandbox Code Playgroud)

而不是您需要创建一个别名文件以便于访问

alias composer='/usr/local/bin/composer.phar'
Run Code Online (Sandbox Code Playgroud)

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

composer --version
Run Code Online (Sandbox Code Playgroud)

让我的作曲家再次伟大.


小智 10

这对我有用:

composer install
Run Code Online (Sandbox Code Playgroud)

没有

php composer install
Run Code Online (Sandbox Code Playgroud)


Wol*_*olf 9

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


Muh*_*zad 5

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

php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9
Run Code Online (Sandbox Code Playgroud)

问题是composer.phr文件不在当前目录中,您需要提供完整路径composer.phr,例如

php C:\ProgramData\Composer\bin\composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9
Run Code Online (Sandbox Code Playgroud)

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

 composer create-project yiisoft/yii2-app-advanced advanced 2.0.9
Run Code Online (Sandbox Code Playgroud)

或者

composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9
Run Code Online (Sandbox Code Playgroud)


hiz*_*l25 1

在此输入图像描述

你的composer.phar应该按照上面的方式放置。