Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法锁定PHPUnit版本?_Php_Phpunit_Pear - Fatal编程技术网

有没有办法锁定PHPUnit版本?

有没有办法锁定PHPUnit版本?,php,phpunit,pear,Php,Phpunit,Pear,我希望能够运行以下命令: pear update 不升级PHPUnit,但其他一切都可以免费升级(只要不违反PHPUnit依赖性要求) 那么基本上,有没有一种方法可以锁定单个包的版本 谢谢 您可以尝试编写一个简单的shell脚本,该脚本将为phpunit通道执行pear通道删除,然后更新并添加通道返回。我还维护一组ZF1应用程序,我也必须处理phpunit 3.4.15版本,以进行测试,但是我们采取了一种不同的方法:我们通过pear卸载了PHPUnit,并从PHPUnit的git repo下载

我希望能够运行以下命令:

pear update
不升级PHPUnit,但其他一切都可以免费升级(只要不违反PHPUnit依赖性要求)

那么基本上,有没有一种方法可以锁定单个包的版本


谢谢

您可以尝试编写一个简单的shell脚本,该脚本将为phpunit通道执行pear通道删除,然后更新并添加通道返回。

我还维护一组ZF1应用程序,我也必须处理phpunit 3.4.15版本,以进行测试,但是我们采取了一种不同的方法:我们通过pear卸载了PHPUnit,并从PHPUnit的git repo下载了源代码,接下来我们构建了phar包,然后在/usr/bin目录中将其符号链接为可执行文件

我让phpunit-3.4.15与PEAR安装的phpunit并行运行,但是如果不需要更高版本,可以一起删除PEAR包

$ sudo pear uninstall phpunit/PHPUnit
如果您也使用phing,则需要强制安装ping,而不考虑对PHPUnit的依赖关系

旧PHPUnit as phar包的方法如下:

$ cd /tmp
$ curl -o phpunit-3.4.15.tar.gz https://codeload.github.com/sebastianbergmann/phpunit/tar.gz/3.4.15
$ tar -xvzf phpunit-3.4.15.tar.gz
$ cd phpunit-3.4.15/
$ /usr/bin/php make_phar.php
$ sudo ln -s /tmp/phpunit-3.4.15/phpunit.phar /usr/bin/phpunit34
PHP设置 由于我们对系统进行了一些欺骗,我们需要在
php.ini
配置中添加一些东西

  • 在php.ini中:phar.readonly=Off
  • 在php.ini中:include_path=“.:/path/to/pear:/tmp/phpunit-3.4.15”

我相信你有一个很好的理由,但还是要说明原因吗?您与新版本的PHPUnit是否存在兼容性问题?是的。Zend Framework v1与PHPUnit大于3.4的版本不兼容。我认为3.5版还可以,但是有大量的折旧信息。也许更新pear,然后在升级过程中安装您想要的PHPUnit版本?这正是我不依赖中间层来升级供应商应用程序的原因。