Ошибка установки пакета 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

Я не понимаю, почему install пытается mkdir на C:\php\pear\, а также как решить проблемы с неизвестными каналами удаления...


person divide by zero    schedule 07.09.2012    source источник
comment
Я решил похожую (но не ту же) проблему, вручную удалив кеш PEAR (расположенный по адресу: C:\Users\<username>\AppData\Local\Temp\pear).   -  person yannis    schedule 24.02.2013


Ответы (5)


Единственный способ заставить грушу работать при использовании 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

для всего, что сообщается как проблема.

person edorian    schedule 07.09.2012
comment
обновление не помогло, но полное удаление груши и установка с нуля - да. - person divide by zero; 07.09.2012
comment
Вау спасибо! Это, безусловно, самый простой способ установить эти бесконечные пакеты qa. Лучший ответ. - person stefgosselin; 06.03.2013

Если, как это было у меня, выполнение всех команд config-set для груши по-прежнему приводит к этой ошибке:

не удалось mkdir C:\php\pear\tests\PHP_CodeSniffer\CodeSniffer\Core\File

тогда есть простое решение, которое мне потребовалось некоторое время, чтобы понять:

Запустите терминал от имени администратора

Действительно, это решение. Затем, как говорили другие: перейдите в 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
person Joery    schedule 04.10.2016
comment
@Joery, это определенно была проблема - person Kevlwig; 11.02.2018

Попробуйте исправить пути конфигурации с помощью следующих команд:

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
person Włodzimierz Gajda    schedule 28.02.2013

Нет необходимости удалять кеш PEAR вручную

pear clear-cache 

очищает грушевый кеш без необходимости искать кеш вручную.

Это решило ответ, который я получал при попытке загрузить пакеты с канала Structures, который был

 no release for package ....

что указало мне на то, что у груши не было новой версии для этого конкретного пакета, который уже был записан как находящийся в моей системе, хотя и не был успешно установлен.

Также изменение предпочтительного состояния со стабильного на развивающееся с помощью

pear config-set preferred_state devel

разрешена установка всех необходимых мне пакетов, большинство из которых либо devel, либо alpha

Надеюсь, это поможет кому-то не тратить впустую почти день, который стоил мне, чтобы понять, почему я получил ответ «Нет релизов».

person user3077917    schedule 07.12.2013

Груша настроена неправильно. Я помню, как установка XAMPP для pear не работала из коробки.

См. здесь рекомендации по настройке необходимых переменных. правильно. Найдите те, для которых установлено значение по умолчанию, например C:\php\<something>, и измените их на папки в установке XAMPP pear/php.

person Ivo    schedule 07.09.2012
comment
Возможно, вам придется изменить файл конфигурации вручную. См. также этот ответ. - person Ivo; 07.09.2012