在Mac Os X问题上通过Pear安装Behat

时间:2013-04-16 14:43:17

标签: macos behat

我正在使用下面的turotiral在我的山狮macbook上安装behat和mink。

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

在您运行behat命令之前似乎一切正常,然后我收到以下错误

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?我尝试过卸载并再次尝试同样的问题

3 个答案:

答案 0 :(得分:0)

Behat PEAR channel不再维护。那里没有最新的Behat版本(> = 2.4)。

安装Behat的最佳和最简单的方法是使用composer。我建议关注the original docs。 Pear方法不再列在那里了。

答案 1 :(得分:0)

非常感谢,但是我在Mac OS X上可靠地为我工作的唯一方法是我在雪地上进行了试验,而Mountain Mountain正在使用.phar安装方法。

作曲家方法虽然在遵循

中的指南时似乎更容易产生错误

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

我得到的错误是下面所以我坚持使用phar文件。

  [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)     

答案 2 :(得分:0)

看看behat \ autoload_map.php。找不到该文件时,此文件替代Symfony自动加载器。它包含一个将namespace \ class映射到目录和文件的数组。只需添加一些内容,您就可以使用此版本的Behat。

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