我是symfony2和symblog的新手。在第三章中,当我尝试使用数据fixture时,我尝试了命令:

php的作曲家。phar更新

但我发现了一个错误:

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

所以我谷歌了一下,试了试

php composer.phar install

但还是得到相同的错误。因此,请指导如何使用wamp在symfony2中安装新的扩展或数据fixture之类的编写器。


当前回答

我收到包裹时遇到了点麻烦。运行composer dumpautoload的Json脚本。

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

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

这允许编写器从命令行工作,但不允许脚本执行编写器。

解决办法是这样的:

$ cd /usr/local/bin
$ mv composer.phar composer
$ sudo chmod +x composer // +x allows the file to be executable, such as by CLI scripts

无法打开输入文件:/usr/local/bin/composer.phar

修复是更新~/。Bash_profile (sudo nano ~/.bash_profile),并将composer别名更改为:

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

# ie: `.phar` extension removed

现在一切都像预期的那样。

其他回答

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

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

我在这里找到了:https://getcomposer.org/download/

我收到包裹时遇到了点麻烦。运行composer dumpautoload的Json脚本。

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

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

这允许编写器从命令行工作,但不允许脚本执行编写器。

解决办法是这样的:

$ cd /usr/local/bin
$ mv composer.phar composer
$ sudo chmod +x composer // +x allows the file to be executable, such as by CLI scripts

无法打开输入文件:/usr/local/bin/composer.phar

修复是更新~/。Bash_profile (sudo nano ~/.bash_profile),并将composer别名更改为:

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

# ie: `.phar` extension removed

现在一切都像预期的那样。

背景

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

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

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

php composer.phar update

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

但是,如果您全局安装它,您可以使composer本身可执行,因此您可以在没有php的情况下调用它(并且不必为每个项目下载它)。换句话说,你可以这样使用composer:

composer update

因为你正在执行php composer。phar更新,你得到的错误无法打开输入文件:作曲家。Phar,你可能没有作曲家。Phar在当前目录中。

解决方案

如果全局安装了Composer,只需运行Composer update而不是php Composer。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

如果你按照下面的指示去做:

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

如果你想创造作曲家。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');"