ChatGPT解决这个技术问题 Extra ChatGPT

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

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

php composer.phar update

但我得到了错误:

Could not open input file: composer.phar

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

php composer.phar install

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

你在正确的地方安装了 composer.phar 吗?
我在尝试全局设置作曲家时遇到了这个问题。我最终将 alias composer="php C:\\\\Users\\\\MyUsername\\\\bin\\\\composer.phar" 添加到我的 .bashrc 文件中。丑陋,但有效。
Windows 用户的解决方案在@Jamil 下面,您必须使用 composer 而不是 php composer.phar
如果您已经安装了 composer 则不需要 .phar 只需运行 composer update

C
Chris Moschini

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

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

要记住的是,如果您正确安装了它(在 Windows 上)并将其添加到环境的 PATH 变量中,那么您不需要键入 php composer.phar 而是使用 composer。
@Chris Moschini 看来你可以帮助我。看看这个:stackoverflow.com/questions/52091827/…
我们是否必须在每个项目中安装作曲家,我使用他们的安装程序安装了作曲家
M
Mr_Green

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

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

然后你可以简单地打电话

composer install

代替

php composer.phar install

这终于奏效了,我不明白为什么我在作曲家网站上的任何地方都找不到这个信息......
谢谢! Composer 文档的“基本用法”部分没有提到这一点。getcomposer.org/doc/01-basic-usage.md#installing-dependencies
这个答案已经两年多了,文档还没有更新,所以我遇到了同样的问题。谢谢!
N
Nic Wortel

背景

了解有两种安装(和使用)Composer 的方法会很有帮助:本地作为项目目录中的文件,或全局作为系统范围的可执行文件。

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

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

php composer.phar update

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

但是,如果您安装它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

我希望我可以多次更新这个答案。除了回答问题之外,它还澄清了 Composer 本地安装和全局安装之间的区别的问题。这次真是万分感谢。
S
Stan Smulders

如果其他人在页面上出现这么低并且仍然没有找到有效的答案(就像我一样),使用这个:

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

瞧!一个工作的作曲家:-)


谢谢你,Smulders特工。 ;)
为我工作,但我必须更改一行,以便它能够正常工作 $alias composer='/usr/local/bin/composer'
在我的 Mac OS XI 上,将别名命令添加到我的 .bash_profile 中。这将使别名对新的终端会话保持不变。
第二行不起作用 mv composer.phar /usr/local/bin/composer.phar。我收到一个错误:无法安装 mv: regular File '/usr/local/bin/composer.phar':缺少权限。
@Peter 在集成 VS Code 终端中尝试该命令时,我也失去了权利。相反,我以管理员身份打开了 Git Bash(或您使用的任何终端),并且所有命令都正常工作。
p
purencool

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

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

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


S
Script47

要解决此问题,您需要做的第一件事是获取 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

让作曲家再次伟大。


M
Monasha

这对我有用:

composer install

没有

php composer install

即使没有扩展?另外,请在您的代码行中添加 4 个空格,以便将它们格式化为代码
W
Wolf

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


M
Muhammad Shahzad

昨天我试图在 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

K
Kiren S

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

composer update

composer require "samplelibraryyouwant"


这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。
@BasvanStein 似乎确实是在尝试回答。如果您认为这个答案是错误的,那么您可以投反对票。
P
Petter Friberg

用这个 :

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

C
Chris Klingler

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

 php composer.phar install

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


b
bicky

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

composer require google/apiclient:1.*

M
Murugan Vadivel

嗨朋友,请按照步骤在 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 版本 $ composer --version Composer version 1.7.2 2018-08-16 16:57:12

第 5 步:确认项目文件夹和文件放在下面 $ ls CONTRIBUTING.md docker-compose.yml 模板 README.md 日志测试 composer.json phpunit.xml vendor composer.lock public composer.phar src

第 6 步:现在更新 composer $ composer.phar update 使用包信息加载 composer 存储库 更新依赖项(包括 require-dev) 无需安装或更新 生成自动加载文件

第 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 - 没有这样的文件或目录


M
Monika Sharma

使用下面提到的命令安装 Yii2 时出现此错误“无法打开输入文件:composer.phar”。

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

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

作曲家创建项目 yiisoft/yii2-app-basic 基本

我希望它有帮助!


这是正确的解决方案
h
hizbul25

https://i.stack.imgur.com/5JIvo.png

您的 composer.phar 应该以上述方式放置。


我正在使用 windows8 并在 getcomposer.org/download 上安装了 composer 的 exe。然后我按照您显示的结构将 composer.phar 文件复制到我的项目中。 composer.json 和 composer.lock 文件已经存在,因为它是默认的 symfony 包下载。在我运行 composer udpate 命令时执行此操作后,大约花了半个小时但尚未完成。怎么了?请建议。提前致谢!
好的,你使用 cmd 命令吗?所以你应该以正确的方式更改目录。更好地为您的目录结构提供屏幕截图。
Stackoverflow 不允许我上传图片,因为我只是点数或声誉较低的新生用户。我在 C:\wamp\www\Symfony\ 目录中运行 composer update 命令,在该目录中我可以看到 composer.phar、composer.json、composer.lock 文件夹 app、bin、vendor、src 和 web。
C: cd wamp\www\Symfony
在这方面,开发人员总是建议 linux 用于 php/python/ruby。 :)
T
TamusJRoyce

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

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

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

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


N
Narayan P

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


M
Mamunur Rashid

像这样的命令:

composer.phar require intervention/image

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

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

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


S
Shukla Saurabh

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

上述错误是因为无法全局访问作曲家。所以你需要以管理员身份运行“cmd”。

这对我来说很好。


0
0xKayvan

致通过 HomeBrew 安装 composer 的谷歌用户:为 /usr/local/bin/composer 创建一个符号链接

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

R
Ru Chern Chong

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

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

请改用 sudo composer require intervention/image。这会给你想要的。


a
agm1984

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

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

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

这允许 composer 从命令行工作,但不允许脚本执行 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

现在一切都按预期运行。


L
Lackeeee

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


a
aidonsnous

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

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

就这样


M
Mathesh Raj

使用两个步骤。

卷曲-sS https://getcomposer.org/installer | php

sudo php composer.phar 更新


C
Community

你可以做

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/


m
mariano_c

我在尝试从 http://getcomposer.org/download 页面在 Window 7 机器上安装 composer 时遇到了这个问题。由于存在现有的 compose 版本(由 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 安装作曲家。


a
abey

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

使用作曲家安装


j
jabir

如果你已经安装了 Composer,你可以试试这个命令:

composer update 

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

composer require "/../"

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅