我是symfony2和阅读symblog的新手。在第三章中,当我尝试使用数据fixture时,我尝试了命令:
php composer.phar update
但我发现了一个错误:
Could not open input file: composer.phar
所以我谷歌了一下,试了试
php composer.phar install
但还是得到相同的错误。因此,请指导如何使用wamp在symfony2中安装新的扩展或数据fixture之类的编写器。
你的作曲家。法尔应放在上述方式。
如果你按照下面的指示去做:
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 8上安装XAMPP。它会将它添加到您的本地构建,我使用.gitignore来避免回购
php -r "readfile('https://getcomposer.org/installer');" | php
我从这里得到它:https://getcomposer.org/download/
知道有两种方法来安装(和使用)Composer是很有帮助的:在本地作为一个文件在你的项目目录下,或在全球范围内作为一个系统范围的可执行文件。
在本地安装Composer仅仅意味着你正在下载一个文件(composer.phar -这是一个PHP存档)到你的项目目录中。您必须为每个需要Composer的项目下载它。
composer.phar
就像你想在命令行上执行的常规PHP文件一样,你必须用PHP运行它:
它基本上告诉php可执行文件以update作为参数运行文件composer.phar。
php
update
然而,如果你安装它在全球范围内,你可以使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
这将下载安装程序并使用php运行它。安装程序将下载实际的Composer PHAR到当前工作目录,并使其可执行。
要全局安装Composer(我推荐这样做),将文件复制到PATH中的一个位置。具体位置因操作系统和设置而异,更多信息请参见https://getcomposer.org/doc/00-intro.md#globally。
PATH
就我个人而言,我更喜欢在我的主目录中安装Composer,这样我就不需要sudo来安装或更新composer可执行文件(这可能存在安全风险)。当我在Linux上时,我使用以下命令:
sudo
composer
mv composer.phar ~/.local/bin/composer
我在Windows上遇到了同样的问题,并使用了不同的解决方案。我使用composer网站提供的componer_setup .exe安装文件,它会进行全球安装。
安装之后,确保你的PATH变量指向composer所在的目录。Phar被存储。这通常是C:\ProgramData\ComposerSetup\bin (ProgramData可能是一个隐藏目录)。这是不言而喻的,但也要确保PHP可执行文件也在PATH变量中。
C:\ProgramData\ComposerSetup\bin
然后你可以简单地打电话
composer install
而不是
你的composer.phar必须在源文件中。我也有同样的问题,我只是剪掉了我的作曲家。phar放入我的framework-standard-edition文件夹,其中是我的整个__abc2项目。
很简单,导航到已经有编码器的目录。你想要运行的Json文件(理想情况下是你的项目文件夹),然后下载composer到相同的文件夹中,然后立即运行安装命令,如下所示:
这将自动找到作曲家。Json和运行所需的脚本。祝你好运。这些东西对终端巫师来说是小菜一碟,对我们其他人来说完全是匪夷所思的
如果已经安装了编写器,您只需要知道编写器的位置。Phar文件是(它的目录),然后您移动到您的symfony项目,在那里您有编写器。Json,然后从那个目录执行你的作曲器。phar文件。这是你必须做的。
symfony project directory_where_composer.json_is>php the_directory_where_composer.phar_is/composer update
这是所有
如果其他人在这一页上的位置这么低,仍然没有找到有效的答案(就像我一样),请使用以下方法:
$ curl -sS https://getcomposer.org/installer | php $ mv composer.phar /usr/local/bin/composer.phar $ alias composer='/usr/local/bin/composer.phar' $ composer --version
果不其然!在职作曲家:-)
分两步。
Sudo PHP编写器。phar更新
我也有同样的问题。当我使composer全局可用时,这个问题就解决了。现在我可以从文件夹中的任何地方屯命令。
composer require "samplelibraryyouwant"
composer require google/apiclient:1.*
你可以这样做
-sS标志表示不显示进度,只显示错误
然后
https://packagist.org/
昨天,我试图在Windows 10上安装Yii2框架,运行这个命令时遇到了同样的问题(无法打开输入文件:composer.phar):
php composer.phar create-project yiisoft/yii2-app-advanced advanced 2.0.9
问题是作曲家。PHR文件不在当前目录中,您需要给出完整路径编写器。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
这招对我很管用:
没有
php composer install
用这个:
当我试图从http://getcomposer.org/download页面在windows 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 %*
看那个作曲家。Phar没有文件路径。当站在不同的文件夹,而不是一个作曲家。Phar已被定位,系统将无法找到它。所以,完成作曲。Phar文件路径:
@SET PATH=C:\Program Files (x86)\DevDesktop\php5_4;;%PATH% SET composerScript=composer.phar php.exe "%~dp0%composerScript%" %*
重新打开窗口控制台,这样就可以了。
EDIT:这有一个问题,因为它总是使用%~dp0%composerScript% 文件夹作为编写器执行。所有的构型都在里面完成 (除了站在你当前的项目文件夹上),而不是在你的项目文件夹中 到目前为止,我还没有找到一个是让手动编写器安装到 在Windows上全球工作。 .也许你应该继续使用composer来安装上面提到的windows
EDIT:这有一个问题,因为它总是使用%~dp0%composerScript% 文件夹作为编写器执行。所有的构型都在里面完成 (除了站在你当前的项目文件夹上),而不是在你的项目文件夹中 到目前为止,我还没有找到一个是让手动编写器安装到 在Windows上全球工作。
要解决这个问题,你需要做的第一件事是得到composer的最后一个版本:
我建议你搬作曲家。phar文件到全局“bin”目录,在我的情况下(OS X)路径是:
mv composer.phar /usr/local/bin/composer.phar
然后,您需要创建一个别名文件,以便于访问
alias composer='/usr/local/bin/composer.phar'
如果一切正常,现在是时候验证我们的Composer版本了:
composer --version
让我们让作曲家再次伟大起来。
不访问composer by 作曲家作曲。问题安装< / p > < p >使用 作曲家安装< / p >
如果你已经安装了Composer,你可以试试这个命令:
或者如果你想添加一些bundle到你的作曲家尝试这个:
composer require "/../"
单独使用composer而不使用PHP
如:
composer create-project --prefer-dist --stability=dev developeruz/yii-vue-app basic
我已经修复了以下步骤相同的问题
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('SHA384', 'composer-setup.php') === 'the-provided-hash-code') {echo '已验证安装程序';} else {echo '安装程序损坏';分离(“composer-setup.php”);} echo PHP_EOL;" < p > php composer-setup.php PHP -r "unlink('composer-setup.php');" < / p >
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'the-provided-hash-code') {echo '已验证安装程序';} else {echo '安装程序损坏';分离(“composer-setup.php”);} echo PHP_EOL;"
现在一切正常,因为composer.phar文件在当前项目目录中可用。
谢谢
https://getcomposer.org/installer | php 李< /引用> < / > 第二步:移动作曲器。Phar的项目目录 $ mv作曲家。phar /应用程序/ MAMP /根/ bashrushAPI / composer.phar 李< /引用> < / > 步骤3:设置编写器的别名 $ alias composer='/Applications/MAMP/htdocs/bashrushAPI/composer.phar' 李< /引用> < / > 第四步:现在检查composer的版本 $ composer—版本 Composer version 1.7.2 2018-08-16 16:57:12 李< /引用> < / > 第五步:确认放置在波纹管上的项目文件夹和文件 $ ls < p > <代码>做贡献。md docker-compose。yml模板 自述文件。Md记录测试 作曲家。Json phpunit.xml供应商 作曲家。锁的公共 作曲家。phar src / <代码> < / p > 李< /引用> < / > 步骤6:现在更新composer 美元的作曲家。phar更新 加载带有包信息的composer存储库 更新依赖项(包括require-dev) 不需要安装或更新 生成自动加载文件 李< /引用> < / > 步骤7:运行示例项目 $ PHP编写器。phar开始 php -S localhost:8080 -t public [9月27日星期四03:16:11 2018]::1:51177 [200]:/ [Thu Sep 27 03:16:11 2018]::1:51178 [404]: /favicon.ico -没有这样的文件或目录 李< /引用> < / >
https://getcomposer.org/installer | php
$ mv作曲家。phar /应用程序/ MAMP /根/ bashrushAPI / composer.phar 李< /引用> < / > 步骤3:设置编写器的别名 $ alias composer='/Applications/MAMP/htdocs/bashrushAPI/composer.phar' 李< /引用> < / > 第四步:现在检查composer的版本 $ composer—版本 Composer version 1.7.2 2018-08-16 16:57:12 李< /引用> < / > 第五步:确认放置在波纹管上的项目文件夹和文件 $ ls < p > <代码>做贡献。md docker-compose。yml模板 自述文件。Md记录测试 作曲家。Json phpunit.xml供应商 作曲家。锁的公共 作曲家。phar src / <代码> < / p > 李< /引用> < / > 步骤6:现在更新composer 美元的作曲家。phar更新 加载带有包信息的composer存储库 更新依赖项(包括require-dev) 不需要安装或更新 生成自动加载文件 李< /引用> < / > 步骤7:运行示例项目 $ PHP编写器。phar开始 php -S localhost:8080 -t public [9月27日星期四03:16:11 2018]::1:51177 [200]:/ [Thu Sep 27 03:16:11 2018]::1:51178 [404]: /favicon.ico -没有这样的文件或目录 李< /引用> < / >
$ mv作曲家。phar /应用程序/ MAMP /根/ bashrushAPI / composer.phar
$ alias composer='/Applications/MAMP/htdocs/bashrushAPI/composer.phar' 李< /引用> < / > 第四步:现在检查composer的版本 $ composer—版本 Composer version 1.7.2 2018-08-16 16:57:12 李< /引用> < / > 第五步:确认放置在波纹管上的项目文件夹和文件 $ ls < p > <代码>做贡献。md docker-compose。yml模板 自述文件。Md记录测试 作曲家。Json phpunit.xml供应商 作曲家。锁的公共 作曲家。phar src / <代码> < / p > 李< /引用> < / > 步骤6:现在更新composer 美元的作曲家。phar更新 加载带有包信息的composer存储库 更新依赖项(包括require-dev) 不需要安装或更新 生成自动加载文件 李< /引用> < / > 步骤7:运行示例项目 $ PHP编写器。phar开始 php -S localhost:8080 -t public [9月27日星期四03:16:11 2018]::1:51177 [200]:/ [Thu Sep 27 03:16:11 2018]::1:51178 [404]: /favicon.ico -没有这样的文件或目录 李< /引用> < / >
$ alias composer='/Applications/MAMP/htdocs/bashrushAPI/composer.phar'
$ composer—版本 Composer version 1.7.2 2018-08-16 16:57:12 李< /引用> < / > 第五步:确认放置在波纹管上的项目文件夹和文件 $ ls < p > <代码>做贡献。md docker-compose。yml模板 自述文件。Md记录测试 作曲家。Json phpunit.xml供应商 作曲家。锁的公共 作曲家。phar src / <代码> < / p > 李< /引用> < / > 步骤6:现在更新composer 美元的作曲家。phar更新 加载带有包信息的composer存储库 更新依赖项(包括require-dev) 不需要安装或更新 生成自动加载文件 李< /引用> < / > 步骤7:运行示例项目 $ PHP编写器。phar开始 php -S localhost:8080 -t public [9月27日星期四03:16:11 2018]::1:51177 [200]:/ [Thu Sep 27 03:16:11 2018]::1:51178 [404]: /favicon.ico -没有这样的文件或目录 李< /引用> < / >
$ composer—版本
Composer version 1.7.2 2018-08-16 16:57:12
$ ls < p > <代码>做贡献。md docker-compose。yml模板 自述文件。Md记录测试 作曲家。Json phpunit.xml供应商 作曲家。锁的公共 作曲家。phar src / <代码> < / p > 李< /引用> < / > 步骤6:现在更新composer 美元的作曲家。phar更新 加载带有包信息的composer存储库 更新依赖项(包括require-dev) 不需要安装或更新 生成自动加载文件 李< /引用> < / > 步骤7:运行示例项目 $ PHP编写器。phar开始 php -S localhost:8080 -t public [9月27日星期四03:16:11 2018]::1:51177 [200]:/ [Thu Sep 27 03:16:11 2018]::1:51178 [404]: /favicon.ico -没有这样的文件或目录 李< /引用> < / >
$ ls
< p > <代码>做贡献。md docker-compose。yml模板 自述文件。Md记录测试 作曲家。Json phpunit.xml供应商 作曲家。锁的公共 作曲家。phar src / <代码> < / p >
美元的作曲家。phar更新 加载带有包信息的composer存储库 更新依赖项(包括require-dev) 不需要安装或更新 生成自动加载文件 李< /引用> < / > 步骤7:运行示例项目 $ PHP编写器。phar开始 php -S localhost:8080 -t public [9月27日星期四03:16:11 2018]::1:51177 [200]:/ [Thu Sep 27 03:16:11 2018]::1:51178 [404]: /favicon.ico -没有这样的文件或目录 李< /引用> < / >
美元的作曲家。phar更新
加载带有包信息的composer存储库 更新依赖项(包括require-dev) 不需要安装或更新 生成自动加载文件
$ PHP编写器。phar开始 php -S localhost:8080 -t public [9月27日星期四03:16:11 2018]::1:51177 [200]:/ [Thu Sep 27 03:16:11 2018]::1:51178 [404]: /favicon.ico -没有这样的文件或目录 李< /引用> < / >
$ PHP编写器。phar开始
php -S localhost:8080 -t public [9月27日星期四03:16:11 2018]::1:51177 [200]:/ [Thu Sep 27 03:16:11 2018]::1:51178 [404]: /favicon.ico -没有这样的文件或目录
对于windows,我创建了composer。CMD并使用下面的文本:
php c:\programs\php\composer.phar %*
作曲家。Phar被安装,c:\programs\php\被添加到我的路径中。
不知道为什么这不是自动完成的。
与我,它的工作只是你需要文件composer.phar和composer.json在当前项目。 命令为
composer.json
对于Windows10 Pro,请按照以下步骤修复此问题。选择属性检查Unblock程序选项。运行安装程序,使用Admin权限运行命令CMD。在命令提示符下运行composer --version以确保它是全局安装的。你现在应该能够运行composer require drush/drush,这是为了使用composer来驱动依赖。
composer require drush/drush
命令如下:
composer.phar require intervention/image
错误:作曲家。Phar:命令未找到
我按照这个过程解决了这个问题
我全局设置了作曲器,并将composer.phar重命名为composer,然后运行这个命令composer require intervention/image。现在运行正常了
composer require intervention/image
我知道我的回答对于嵌入式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,则没有返回。
which composer
which php
除此之外,试着逃跑
/mnt/ext/opt/apache/bin/php composer create-project yiisoft/yii2-app-basic basic
或指
也没用……
只需以管理员身份打开cmd,进入您的项目文件夹,并使用composer命令检查它是否工作。
这对我来说很有效。
最简单直接的方法是 -使用CD命令提示符导航到我的项目文件夹 -在CDM内输入composer以确保其已安装 -如果是,则输入作曲家要求…/你打算安装的扩展
HomeBrew
ln -s /usr/local/bin/composer /usr/local/bin/composer.phar
使用下面提到的命令安装Yii2时,我得到了这个错误"无法打开输入文件:composer.phar"。
php的作曲家。Phar create-project yiisoft/yii2-app-basic basic
对我有效的解决方案是,我把命令改为
编译器create-project yiisoft/yii2-app-basic
我希望它能有所帮助!
如果你使用的是Ubuntu/Linux并且你正在尝试运行
php composer.phar require intervention/image在你的命令行。
php composer.phar require intervention/image
使用sudo composer require intervention/image代替。这会给你想要的东西。
sudo composer require intervention/image
如果你想创造作曲家。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');"
在命令行中执行以下命令 curl -sS https://getcomposer.org/installer | php < / p >
我收到包裹时遇到了点麻烦。composer dumpautoload. json的脚本运行。
composer dumpautoload
我有文件/usr/local/bin/composer.phar,也文件~/.bash_profile(在OSX上)包含:
/usr/local/bin/composer.phar
~/.bash_profile
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
Could not open input file: /usr/local/bin/composer.phar
修复方法是更新~/.bash_profile (sudo nano ~/.bash_profile),并将composer别名更改为:
alias composer="php /usr/local/bin/composer" # ie: `.phar` extension removed
现在一切都像预期的那样。
在使用以下命令之前,我一直面临同样的问题。< br >
composer self-update
希望这也适用于你!
如果没有,你可以在这里检查整个发布 https://blog.packagist.com/composer-2-0-is-now-available/ < / p >
这是非常简单的,只是运行没有'PHP'前缀。
composer.phar update
这应该有用。