PEAR包安装失败

时间:2012-09-07 12:47:16

标签: php console phpunit package pear

我尝试安装包from pear.phpqatools.org/phpqatools

首先,命令pear config-get php_dir返回D:\Users\xampp\php\pear 我无权在C驱动器上安装。

然后根据http://phpqatools.org/的说明 我输入:

pear config-set auto_discover 1
pear install pear.phpqatools.org/phpqatools

我也试图输入: pear install --alldeps pear.phpqatools.org/phpqatools

但所有这些尝试的结果都是失败......

这是一个日志:

Package "pear.phpqatools.org/phpqatools" dependency "pear.phpunit.de/PHPUnit" has no releases
Unknown remote channel: pear.pdepend.org
Unknown remote channel: pear.phpmd.org
Unknown remote channel: components.ez.no
Package "pear.phpunit.de/PHPUnit_SkeletonGenerator" dependency "pear.phpunit.de/Text_Template" has
no releases
Package "pear.phpunit.de/phpcpd" dependency "pear.phpunit.de/File_Iterator" has no releases
Package "pear.phpunit.de/phpcpd" dependency "pear.phpunit.de/PHP_Timer" has no releases
Unknown remote channel: components.ez.no
Package "pear.phpunit.de/phploc" dependency "pear.phpunit.de/File_Iterator" has no releases
Unknown remote channel: components.ez.no
Package "pear.phpqatools.org/PHP_CodeBrowser" dependency "pear.phpunit.de/File_Iterator" has no rel
eases
Failed to download pear/Text_Highlighter within preferred state "stable", latest release is version
 0.7.3, stability "beta", use "channel://pear.php.net/Text_Highlighter-0.7.3" to install
Package "pear.phpqatools.org/PHP_CodeBrowser" dependency "pear.phpunit.de/PHPUnit" has no releases
Package "pear.phpqatools.org/PHP_CodeBrowser" dependency "pear.php.net/PhpDocumentor" has no releas
es
Package "pear.php.net/PHP_CodeSniffer" dependency "pear.phpunit.de/PHP_Timer" has no releases
Package "pear.phpunit.de/DbUnit" dependency "pear.phpunit.de/PHPUnit" has no releases
Package "pear.phpunit.de/DbUnit" dependency "pear.symfony-project.com/YAML" has no releases
WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
WARNING: "pear/Auth_SASL" is deprecated in favor of "pear/Auth_SASL2"
phpqatools/phpqatools requires package "channel://pear.pdepend.org/PHP_Depend"
phpqatools/phpqatools requires package "channel://pear.phpmd.org/PHP_PMD"
phpunit/PHPUnit_SkeletonGenerator requires package "channel://components.ez.no/ConsoleTools" (versi
on >= 1.6)
phpunit/phpcpd requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6)
phpunit/phploc requires package "channel://components.ez.no/ConsoleTools" (version >= 1.6)
phpunit/phploc can optionally use PHP extension "bytekit"
phpqatools/PHP_CodeBrowser can optionally use package "pear/Text_Highlighter" (version >= 0.7.1)
downloading PHP_CodeBrowser-1.0.3.tgz ...
Starting to download PHP_CodeBrowser-1.0.3.tgz (172,253 bytes)
.....................................done: 172,253 bytes
downloading PHP_CodeSniffer-1.3.6.tgz ...
Starting to download PHP_CodeSniffer-1.3.6.tgz (352,931 bytes)
...done: 352,931 bytes
downloading DbUnit-1.1.2.tgz ...
Starting to download DbUnit-1.1.2.tgz (41,895 bytes)
...done: 41,895 bytes
downloading Console_CommandLine-1.1.3.tgz ...
Starting to download Console_CommandLine-1.1.3.tgz (38,507 bytes)
...done: 38,507 bytes
downloading Log-1.12.7.tgz ...
Starting to download Log-1.12.7.tgz (46,898 bytes)
...done: 46,898 bytes
downloading DB-1.7.14.tgz ...
Starting to download DB-1.7.14.tgz (133,103 bytes)
...done: 133,103 bytes
downloading MDB2-2.4.1.tgz ...
Starting to download MDB2-2.4.1.tgz (119,790 bytes)
...done: 119,790 bytes
downloading Mail-1.2.0.tgz ...
Starting to download Mail-1.2.0.tgz (23,214 bytes)
...done: 23,214 bytes
downloading Net_SMTP-1.6.1.tgz ...
Starting to download Net_SMTP-1.6.1.tgz (13,164 bytes)
...done: 13,164 bytes
ERROR: failed to mkdir C:\php\pear\tests\PHP_CodeSniffer\CodeSniffer\Core\File
ERROR: failed to mkdir C:\php\pear\docs\DbUnit\Samples\BankAccountDB\_files
ERROR: failed to mkdir C:\php\pear\data\Console_CommandLine\data
ERROR: failed to mkdir C:\php\pear\docs\Log\docs
ERROR: failed to mkdir C:\php\pear\docs\DB\doc
ERROR: failed to mkdir C:\php\pear\docs\MDB2\docs\examples
ERROR: failed to mkdir C:\php\pear\tests\Mail\tests
ERROR: failed to mkdir C:\php\pear\docs\Net_SMTP\docs
ERROR: failed to mkdir C:\php\pear\data\PHP_CodeBrowser\templates\css

我不明白为什么安装尝试C:\php\pear\上的mkdir以及如何解决未知删除频道的问题......

5 个答案:

答案 0 :(得分:11)

我在使用Xamp时找到让梨工作的唯一方法是删除文件夹并从头开始重新安装。梨客户端(很长一段时间非常破碎的1.9.2版本)即使在例外位置也无法正常工作但是当你在其他地方安装xamp时没有理智的方法来修复它到许多文件。

按照http://pear.php.net/manual/en/installation.getting.php上的指南。

下载http://pear.php.net/go-pear.phar,执行它,选择system广泛安装并根据您的位置调整所有广告。

一旦有效且pear version报告1.9.4使用

pear config-set auto_discover 1
pear install --force --alldeps pear.phpqatools.org/phpqatools

“修复”旧安装遗留的任何内容。


只要使用那个版本的梨,就可以修复所有的套餐和渠道问题。

由于某种原因,它不使用

pear channel-discover $everyChannelThatDoesNotWork
pear channel-update $thatChannel

用于报告为问题的所有内容。

答案 1 :(得分:8)

如果像我一样,运行所有pear config-set命令仍会导致此错误:

  

未能成为mkdir   C:\ PHP中\梨\测试\ PHP_CodeSniffer \ CodeSniffer \核心\文件

然后有一个简单的解决方案让我花了一些时间来弄明白:

以管理员身份运行您的终端

真的,那就是解决方案。然后像其他人说:在你的终端中转到c:\ xampp \ php并输入以下命令:

pear config-set doc_dir C:\xampp\php\pear\docs
pear config-set cfg_dir C:\xampp\php\pear\cfg
pear config-set data_dir C:\xampp\php\pear\data
pear config-set man_dir C:\xampp\php\local\man
pear config-set test_dir C:\xampp\php\pear\tests
pear config-set www_dir C:\xampp\php\pear\www

pear install PHP_CodeSniffer

答案 2 :(得分:5)

尝试使用以下命令更正配置路径:

pear config-show

pear config-create / C:\xampp\php\pear.ini

pear -c c:\xampp\php\pear.ini config-set doc_dir c:\xampp\php\pear\docs
pear -c c:\xampp\php\pear.ini config-set bin_dir c:\xampp\php
pear -c c:\xampp\php\pear.ini config-set ext_dir c:\xampp\php\ext
pear -c c:\xampp\php\pear.ini config-set php_dir c:\xampp\php\pear
pear -c c:\xampp\php\pear.ini config-set cache_dir c:\xampp\php\cache
pear -c c:\xampp\php\pear.ini config-set cfg_dir c:\xampp\php\cfg
pear -c c:\xampp\php\pear.ini config-set data_dir c:\xampp\php\data
pear -c c:\xampp\php\pear.ini config-set download_dir c:\xampp\php\download
pear -c c:\xampp\php\pear.ini config-set php_bin c:\xampp\php\php.exe
pear -c c:\xampp\php\pear.ini config-set temp_dir c:\xampp\php\tmp
pear -c c:\xampp\php\pear.ini config-set test_dir c:\xampp\php\pear\tests
pear -c c:\xampp\php\pear.ini config-set www_dir c:\xampp\php\pear\www

pear -c c:\xampp\php\pear.ini config-show

每个pear命令都应该使用-c c:\xampp\php\pear.ini参数,例如:

pear -c c:\xampp\php\pear.ini config-set auto_discover 1
pear -c c:\xampp\php\pear.ini install pear.phpqatools.org/phpqatools

答案 3 :(得分:3)

无需手动删除PEAR缓存

pear clear-cache 

清除pear缓存,而不必手动搜索缓存。

这解决了我在尝试从Structures频道下载软件包时遇到的响应

 no release for package ....

它向我表明,虽然没有成功安装,但梨已经没有新的版本已经记录为我的系统上的特定包装。

还使用

首选状态从stable更改为devel
pear config-set preferred_state devel

允许安装我需要的所有软件包,其中大多数是devel或alpha

希望这可以帮助某人浪费将近一天的时间,这让我无法理解为什么我会收到“无版本”回复。

答案 4 :(得分:1)

Pear配置不正确。我记得XAMPP安装的梨不是开箱即用的。

有关如何正确设置所需变量的指导,请参阅here。找到设置为默认值的那些,如C:\php\<something>,并将它们更改为XAMPP的pear / php安装中的文件夹。