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

问题描述 投票:195回答:27

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

php composer.phar update

但是我得到了错误:

Could not open input file: composer.phar

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

php composer.phar install

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

php symfony wamp composer-php
27个回答
254
投票

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

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

3
投票

用这个 :

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

2
投票

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

 php composer.phar install

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


2
投票

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

composer require google/apiclient:1.*

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启动 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

1
投票

你的composer.phar应该放在上面。


1
投票

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

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

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

不知道为什么不自动完成。


1
投票

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


0
投票

您的composer.phar必须位于源文件中。我有同样的问题,我只是将我的composer.phar剪切到我的框架标准版文件夹,这是我的整个强大的文本项目。


0
投票

如果已经安装了作曲家,你只需要知道composer.phar文件在哪里(其目录),之后你就可以移动到你拥有composer.json的symfony项目,并从那个目录中执行你的composer.phar文件。在Windows中,这是你必须要做的。

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

就这样


0
投票

使用两个步骤。

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

sudo php composer.phar更新


137
投票

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

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

然后你可以简单地打电话

composer install

代替

php composer.phar install

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/


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。


0
投票

不要通过composer composer.pher install访问composer

使用composer安装


0
投票

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

composer update 

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

composer require "/../"

0
投票

单独使用作曲家而不用PHP

喜欢 :

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

0
投票

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

  1. 打开项目目录使用终端(你正在使用终端,即mintty)
  2. 现在按照https://getcomposer.org/download/上的给定方向在此目录中安装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 verified';} else {echo'Installer corrupt'; unlink ('composer-setup.php');} echo PHP_EOL;“

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

  1. 现在运行你的命令。

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

谢谢


0
投票

对我而言,只需要在当前项目中使用文件composer.pharcomposer.json。命令是

php composer.phar update 

0
投票

像这样的命令:

composer.phar require intervention/image

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

我按照这个过程解决了这个问题

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


95
投票

背景

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

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

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

php composer.phar update

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

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

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

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

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


12
投票

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

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

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


10
投票

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

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

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

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

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

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

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

composer --version

让我的作曲家再次伟大。


9
投票

这对我有用:

composer install

没有

php composer install

3
投票

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

composer update

composer require "samplelibraryyouwant"


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
© www.soinside.com 2019 - 2024. All rights reserved.