当前位置: 首页 > 知识库问答 >
问题:

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

左丘季
2023-03-14

我不熟悉symfony2,也不了解symbog。在第三章中,在尝试使用数据装置时,我尝试了以下命令:

php编写器。药物更新

但我得到了一个错误:

无法打开输入文件:composer.phar

所以我在谷歌上搜索了一下,试了一下

php composer.phar install

但仍然得到同样的错误。因此,请指导如何使用wamp在symfony2中安装新的扩展或捆绑包,如数据装置。

共有3个答案

呼延震博
2023-03-14

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

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

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

php composer.phar update

它基本上告诉php可执行文件运行文件编写器。phar以update作为参数。

然而,如果您在全局范围内安装它,您可以使composer本身可执行,这样您就可以在不使用php的情况下调用它(并且不必为每个项目下载它)。换句话说,您可以像这样使用composer:

composer update

因为您正在执行php编写器。phar update,您将收到错误无法打开输入文件:composer。phar,您可能没有编写器。phar在当前目录中。

如果您在全局安装了Composer,只需运行Composer更新而不是phpcomposer.phar更新

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

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

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

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

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

mv composer.phar ~/.local/bin/composer
郑承恩
2023-03-14

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

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

然后你可以简单地打电话

composer install

而不是

php composer.phar install
连昊天
2023-03-14

如果你遵循这样的指示:

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
 类似资料:
  • 问题内容: 我必须运行才能进行进程的堆转储。但返回: 所以我用了: 使用 可以进行堆转储吗? 我正在等待20分钟,尚未完成。有什么想法吗? 问题答案: vs. 以及vs. 使用完全不同的机制与目标JVM通信。 jmap / jstack 在没有这些工具的情况下运行时,请使用动态附加机制。其工作原理如下。 连接到Java进程1234之前,请在目标进程的工作目录或处创建一个文件。 然后发送到目标进程。

  • 我试图为我的Laravel rest Api创建Docker文件,在后端Docker文件中使用Vue.js。当我试图运行php artisan serve时,我得到以下错误。 无法打开输入文件:artisan命令“php artisan serve”返回非零代码:1

  • open 静态方法能够以只读模式(read-only mode)打开一个文件。 File 拥有一个资源,文件描述符(file descriptor),以及在文件丢弃时管理好关闭文件的操作。(原文:A File owns a resource, the file descriptor and takes care of closing the file when it is droped.) use

  • 我必须运行以便对我的进程进行堆转储。但是返回: 所以我用了: 使用可以进行堆转储吗

  • 问题内容: 我正在编写一个小程序,我想使用: 这很好,除了在打印打印语句后没有提示的事实。喜欢: 如果可能的话,如何删除“无”?我也确实搜索了这个问题,但是什么也没有在输入中返回none。 问题答案: 将字符串作为参数,它将自动打印,但返回;这是由打印的。您的代码等效于: 而是使用构建提示并将其直接传递给:

  • 尝试将Docker中的PHP(从PHP:7.2.18-fpm-stretch)更新到7.4时出错。 无法打开输入文件:/usr/local/lib/php/pearcmd。php命令'/bin/sh-c if![-z${http_proxy x}];然后pear config设置http_proxy$http_proxy;fi