0

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

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

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

cd the project directory
php composer.phar update

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

我的整个 composer.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"
    }
}

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

4

5 回答 5

6

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

你可以做的一些事情:

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

    @echo off
    php "path\to\composer.phar" %*
    

1 :你可以通过在你的cmd中PATH运行来查看环境变量中有哪些目录。 你也可以把这个文件所在的目录放到环境中。为此,请转到(右键单击)> > > (在“高级”选项卡下)并使用您的目录路径设置 PATH 变量(或通过在路径之间放置一个来将路径添加到当前 PATH 变量)。echo %PATH%
PATHComputerSettingsAdvanced SettingsEnvironments Variables;

于 2013-03-05T14:33:03.420 回答
2

错误消息很清楚,它与您的composer.json文件无关。

我认为您只需将composer.phar文件移动到项目目录即可。

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

于 2013-03-05T14:18:17.013 回答
1

我遇到了同样的问题“无法打开输入文件:composer.phar”

修复:转到项目目录并运行以下命令

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

并运行

php composer.phar install or php composer.phar update

这会很棒。

于 2014-03-03T18:18:38.763 回答
0

我在 Fedora 17 上工作,我在控制台上运行它来下载composer.phar

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

那么它现在的工作。

于 2013-04-06T12:41:04.913 回答
0

确保您的代码:

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

改为:

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

注意添加一个,(逗号)。

于 2014-01-28T09:37:46.323 回答