2013-03-05 66 views
0

我使用的是Windows,並且我從其Windows安裝程序安裝了Composer。我想要做的就是安裝DoctrineMigrationsBundle到我的項目,所以我加了如何在Composer中安裝Symfony2 Bundle

"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" 
    } 
} 

你能幫我解決這個問題嗎?

回答

6

正如@AhmedSiouani所說,錯誤告訴你他們找不到composer.phar文件。

有些事情可以做:

  1. 下載Composer-SetUp.exethe downloads page(滾動到 'Windows安裝程序')的安裝說作曲;
  2. 下載composer.phar文件並將其放入您的項目中(不推薦);
  3. 下載composer.phar文件,並將其放在PATH環境變量的目錄中;
  4. 下載composer.phar文件並創建一個composer.bat文件,該文件執行composer.phar文件。將下面的代碼放入它中,並將其保存在PATH環境變量中的目錄中。

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

:你可以看到它的目錄是在PATH環境變量通過 在CMD運行echo %PATH%
您也可以將此文件所在的目錄置於PATH環境中。爲此,請到Computer(右鍵單擊)>Settings>Advanced Settings>Environments Variables(在「高級」選項卡下)並將PATH變量設置爲您的目錄路徑(或將路徑添加到當前PATH變量中,方法是將路徑之間的;)。

+0

非常感謝您的明確解釋! – Faery 2013-03-05 14:35:56

2

錯誤信息已經足夠清楚了,它與您的composer.json文件無關。

我想你只需要將你的composer.phar文件移動到你的項目目錄。

另外,一個可重複使用的解決方案是通過PATH環境變量調用它。

+0

非常感謝! :) – Faery 2013-03-05 14:36:12

+0

@Faery不客氣。 – 2013-03-05 14:42:39

0

我在使用fedora 17我在控制檯上運行它來下載作曲家。phar

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

然後它現在工作。

0

確保您的代碼:

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

改爲:

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

通知增加一個,(逗號)。

1

得到了同樣的問題與我「無法打開輸入文件:composer.phar」

修復:轉到項目目錄並運行以下命令

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

和運行

php composer.phar install or php composer.phar update 

這將工作真棒。