2013-04-16 27 views
0

我正在使用follwoing turotiral在我的山狮子macbook上安装behat和mink。在Mac OS X上通过Pear安装Behat问题

http://www.ifusio.com/blog/how-to-install-behat-mink-on-mac-osx

这一切似乎直到您运行贝哈特命令,然后我得到以下错误

PHP Fatal error: Class 'Symfony\Component\Console\Helper\ProgressHelper' not found in /Users/waseem/pear/share/pear/Symfony/Component/Console/Application.php on line 966 
PHP Stack trace: 
PHP 1. {main}() /Users/waseem/pear/bin/behat:0 
PHP 2. Behat\Behat\Console\BehatApplication->__construct() /Users/waseem/pear/bin/behat:26 
PHP 3. Symfony\Component\Console\Application->__construct() /Users/waseem/pear/share/pear/behat/src/Behat/Behat/Console/BehatApplication.php:32 
PHP 4. Symfony\Component\Console\Application->getDefaultHelperSet() /Users/waseem/pear/share/pear/Symfony/Component/Console/Application.php:75 

Fatal error: Class 'Symfony\Component\Console\Helper\ProgressHelper' not found in /Users/waseem/pear/share/pear/Symfony/Component/Console/Application.php on line 966 

Call Stack: 
    0.0002  632656 1. {main}() /Users/waseem/pear/bin/behat:0 
    0.0036 1350424 2. Behat\Behat\Console\BehatApplication->__construct() /Users/waseem/pear/bin/behat:26 
    0.0036 1350504 3. Symfony\Component\Console\Application->__construct() /Users/waseem/pear/share/pear/behat/src/Behat/Behat/Console/BehatApplication.php:32 
    0.0036 1350816 4. Symfony\Component\Console\Application->getDefaultHelperSet() /Users/waseem/pear/share/pear/Symfony/Component/Console/Application.php:75 

如果我通过Github的方法,这一切似乎罚款安装它,这是去细只是窃听我为什么会发生这种情况。我在机器上没有Symfony。

也许是因为我安装了--alldeps?我试图卸载并再次尝试和相同的问题

回答

0

Behat PEAR channel不再被维护。最新的Behat版本(> = 2.4)在那里不可用。

安装Behat的最佳和最简单的方法是使用作曲家。我建议遵循the original docs。梨方法不在那里列出。

+0

这在使用Composer时也会发生。 –

+0

请粘贴你的composer.json。这对我来说可以。 –

+0

如果您在全局安装了behat以及共享文件夹中包含Symfony,则必须在项目文件夹中指定本地behat可执行文件。所以从快速入门文档,在'ls_project'中,它是'../bin/behat --init' –

0

感谢您的支持,但是我唯一可以在Mac OS X上为我工作的方法是可靠的,并且我在雪板和山狮上试用过.phar安装方法。

作曲家方法虽然看上去简单,保持以下发现在导

http://docs.behat.org/cookbook/behat_and_mink.html

我得到的误差小于所以我坚持使用药业文件时产生错误。

[Symfony\Component\DependencyInjection\Exception\InvalidArgumentException]              
    Unable to parse file "/Users/waseem/Behat/vendor/behat/mink-extension/src/Behat/MinkExtension/services/sessions/selenium2.xml". 






    [InvalidArgumentException]                                                           
    [ERROR 1840] Element '{http://symfony.com/schema/dic/services}parameter', attribute 'type': [facet 'enumeration'] The value 'integer' is not an element of the set {'collection', 'service', 'string', 'constant'}. (in /Users/waseem/Behat/ - line 20, column 0) 
    [ERROR 1824] Element '{http://symfony.com/schema/dic/services}parameter', attribute 'type': 'integer' is not a valid value of the atomic type '{http://symfony.com/schema/dic/services}parameter_type'. (in /Users/waseem/Behat/ - line 20, column 0) 
0

看看behat \ autoload_map.php。当找不到该文件时,该文件替代Symfony自动加载器。它包含一个将名称空间\ class映射到目录和文件的数组。有几个补充,你可以得到这个版本的Behat工作。

如同其他人所说的那样,如果BEhat不再支持PEAR频道,那么您就可以使用此解决方案。就我个人而言,我会研究另一种方法来保持我的Behat安装是最新的。