2013-03-26 47 views
3

我想添加FirePHP到我的Zend Framework 2項目使用作曲家,但我得到的錯誤。
我的操作系統是Windows 7。
我嘗試以下辦法讓它工作:如何使用作曲家添加FirePHP到Zend Framework 2

我添加以下代碼composer.json文件:

"repositories": [{ 
    "type": "vcs", 
    "url": "https://github.com/RobLoach/firephp-core" 
}], 
"require": { 
    "firephp/firephp-core": "dev-master" // Tried also: "firephp/firephp-core": "*" 
} 

這裏是我得到了一個錯誤:

[RuntimeException] 
Failed to clone http://github.com/RobLoach/firephp-core.git, git was not found, check that it is installed and in your PATH env. 

我嘗試添加到composer.json以下代碼中,我在firephp pull request中找到該代碼。 :

"require": { 
    "firephp/firephp-core": "*" 
} 

但它給了我上面發佈的同樣的錯誤。 作曲家對我來說是全新的。我找不到任何有用的教程,所以我不確定它是如何工作的,但我正在盡力熟悉它。
我希望有人能告訴我我做錯了什麼。
謝謝。

編輯: 感謝@Seldaek的幫助,我得到了它的工作,但它刪除了我的Zend庫文件夾。
這裏是記錄從CMD:

E:\xampp\htdocs\ZendSkeleton>php composer.phar update 
Loading composer repositories with package information 
Updating dependencies (including require-dev) 
    - Installing firephp/firephp-core (dev-master f60753a) 
    Cloning f60753a8dd7817e4da6bc73e0e717387a9a0866a 

    - Removing zendframework/zendframework (2.0.5) 
Writing lock file 
Generating autoload files 

有沒有什麼辦法阻止刪除Zend的文件夾?

這裏是我的全部composer.json文件:

{ 
    "name": "zendframework/skeleton-application", 
    "description": "Skeleton Application for ZF2", 
    "license": "BSD-3-Clause", 
    "keywords": [ 
     "framework", 
     "zf2" 
    ], 
    "homepage": "http://framework.zend.com/", 
    "require": { 
     "php": ">=5.3.3", 
     "zendframework/zendframework": "2.*" 
    }, 
    "require": { 
     "firephp/firephp-core": "dev-master" 
    }, 
    "config": { 
     "bin-dir": "E:/xampp/htdocs/ZendSkeleton/" 
    } 
} 

回答

5

的問題是隻包有一個可用的DEV-主版本,而這些都是通過與git的缺省安裝。如果你的PATH中沒有可用的git,你可以用--prefer-dist運行composer,這會迫使它從zip壓縮文件而不是通過git進行安裝。像composer update --prefer-dist應該解決。

雖然更好的解決方法是確保git可執行文件在您的PATH環境變量中可訪問。如果你不知道我在問什麼,也許另一種選擇是從「Git Bash」shell而不是cmd.exe運行作曲家。

+0

感謝您的回覆,我重新安裝了msysgit,它開始工作,但它刪除了我的Zend lib文件夾,你知道爲什麼嗎?我編輯了我的第一篇文章,更多詳細信息 – user1409508 2013-03-26 11:20:17

+0

您在composer.json中重寫require塊,您定義了兩次,因此第二個清除了第一個,並且不再需要zendframework。您可以將firephp/firephp-core行添加到第一個require塊並刪除第二個。 – Seldaek 2013-03-26 12:45:43

+0

@ user1409508對於bin-dir也可以使用「。」將它們安裝到當前目錄中,而不是放置完整路徑,這意味着作曲家配置在另一臺機器上將無法工作。 – Seldaek 2013-03-26 12:46:24