如何用Composer安装Symfony2 bundle



我使用的是Windows,我从Windows安装程序中安装了composer。我想要做的是将DoctrineMigrationsBundle安装到我的项目中,所以我添加了

"doctrine/doctrine-migrations-bundle": "dev-master"

到项目中的composer.json文件并运行

cd the project directory
php composer.phar update

但是我得到的是:无法打开输入文件:composer.phar

我的整个作曲家。Json文件

{
    "name": "symfony/framework-standard-edition",
    "description": "The "Symfony Standard Edition" distribution",
    "autoload": {
        "psr-0": { "": "src/" }
    },
    "require": {
        "php": ">=5.3.3",
        "symfony/symfony": "2.1.*",
        "doctrine/orm": ">=2.2.3,<2.4-dev",
        "doctrine/doctrine-bundle": "1.1.*",
        "twig/extensions": "1.0.*@dev",
        "symfony/assetic-bundle": "2.1.*",
        "symfony/swiftmailer-bundle": "2.1.*",
        "symfony/monolog-bundle": "2.1.*",
        "sensio/distribution-bundle": "2.1.*",
        "sensio/framework-extra-bundle": "2.1.*",
        "sensio/generator-bundle": "2.1.*",
        "jms/security-extra-bundle": "1.2.*",
        "jms/di-extra-bundle": "1.1.*",
        "kriswallsmith/assetic": "1.1.*@dev"
        "doctrine/doctrine-migrations-bundle": "dev-master"
    },
    "scripts": {
        "post-install-cmd": [
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
        ],
        "post-update-cmd": [
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installAssets",
            "Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile"
        ]
    },
    "extra": {
        "symfony-app-dir": "app",
        "symfony-web-dir": "web"
    }
}

你能帮我解决这个问题吗?

正如@AhmedSiouani所说,错误告诉你他们找不到composer.phar文件。

你可以做的事情:

  1. 下载Composer-SetUp.exe并按照下载页面上的说明安装Composer(滚动到"Windows Installer");
  2. 下载composer.phar文件并将其放入您的项目中(不推荐);
  3. 下载composer.phar文件并将其放入PATH环境变量1;
  4. 中的目录中。
  5. 下载composer.phar文件,创建执行composer.phar文件的composer.bat文件。将下面的代码放入其中并将其保存在PATH环境变量1的目录中。

    @echo off
    php "pathtocomposer.phar" %*
    

1:您可以通过PATH环境变量查看哪些目录在cmd中运行echo %PATH%
您还可以将该文件所在的目录放在PATH环境中。要做到这一点,转到 Computer(右键单击)> Settings> Advanced Settings> Environments Variables(在'advanced'选项卡下)并将PATH变量设置为您的目录路径(或将路径添加到当前PATH变量中,通过在路径之间添加;)。

错误信息足够清楚,它与您的composer.json文件无关。

我想你只需要把你的composer.phar文件移到你的项目目录。

另外,一个可重用的解决方案是通过PATH环境变量调用它。

我得到了同样的问题"无法打开输入文件:composer。phar "

修复:进入项目目录,运行以下命令
php -r "readfile('https://getcomposer.org/installer');" | php

并运行

php composer.phar install or php composer.phar update

这将工作很棒。

我在fedora 17上工作,我在控制台上运行它来下载composer。phar :

$ curl -s https://getcomposer.org/installer | php

确保你的代码:

 "kriswallsmith/assetic": "1.1.*@dev"
 "doctrine/doctrine-migrations-bundle": "dev-master"

改为:

"kriswallsmith/assetic": "1.1.*@dev",
 "doctrine/doctrine-migrations-bundle": "dev-master"

注意添加,(逗号)

最新更新