2013-03-26 48 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