簡體   English   中英

沒有可用於軟件包的版本

[英]No releases available for package

我正在嘗試在 virtualbox 的 Ubuntu 操作系統中安裝一些 pear 軟件包,例如 gnupg,但是如果我使用sudo pecl install gnupg ,它會拋出

No releases available for package "pecl.php.net/gnupg"
install failed

它不僅發生在 gnupg 上,而且發生在所有 pear 包上。 但我無法確定到底是什么問題。 同樣的命令在我的另一個虛擬機中工作。 所以我真的很困惑。 請幫忙。

筆記:

PEAR Version: 1.9.4
PHP Version: 5.5.9-1ubuntu4
Zend Engine Version: 2.5.0
Running on: Linux udhay-dev 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64

這是 pear 配置(使用pear config-show )顯示的內容,

Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels     auto_discover    1
Default Channel                default_channel  pear.php.net
HTTP Proxy Server Address      http_proxy       http://foo.bar/
PEAR server [DEPRECATED]       master_server    pear.php.net
Default Channel Mirror         preferred_mirror pear.php.net
Remote Configuration File      remote_config    <not set>
PEAR executables directory     bin_dir          /home/udhay-dev/pear/bin
PEAR documentation directory   doc_dir          /home/udhay-dev/pear/docs
PHP extension directory        ext_dir          /usr/lib/php5/20121212+lfs
PEAR directory                 php_dir          /home/udhay-dev/pear/share/pear
PEAR Installer cache directory cache_dir        /tmp/pear/cache
PEAR configuration file        cfg_dir          /home/udhay-dev/pear/cfg
directory
PEAR data directory            data_dir         /home/udhay-dev/pear/data
PEAR Installer download        download_dir     /tmp/pear/install
directory
PHP CLI/CGI binary             php_bin          /usr/bin/php
php.ini location               php_ini          <not set>
--program-prefix passed to     php_prefix       <not set>
PHP's ./configure
--program-suffix passed to     php_suffix       <not set>
PHP's ./configure
PEAR Installer temp directory  temp_dir         /tmp/pear/install
PEAR test directory            test_dir         /home/udhay-dev/pear/tests
PEAR www files directory       www_dir          /home/udhay-dev/pear/www
Cache TimeToLive               cache_ttl        3600
Preferred Package State        preferred_state  stable
Unix file mask                 umask            2
Debug Log Level                verbose          1
PEAR password (for             password         <not set>
maintainers)
Signature Handling Program     sig_bin          /usr/bin/gpg
Signature Key Directory        sig_keydir       /etc/pear/pearkeys
Signature Key Id               sig_keyid        <not set>
Package Signature Type         sig_type         gpg
PEAR username (for             username         <not set>
maintainers)
User Configuration File        Filename         /home/udhay-dev/.pearrc
System Configuration File      Filename         /etc/pear/pear.conf

當我使用pear clear-cache ,它顯示,

未找到目錄 /tmp/pear/cache。

對於命令pear update-channelspear upgrade ,我得到了,

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/http.so' - /usr/lib/php5/20121212/http.so: undefined symbol: php_persistent_handle_abandon in Unknown on line 0
Updating channel "doc.php.net"
Channel "doc.php.net" is not responding over http://, failed with message: Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known
Trying channel "doc.php.net" over https:// instead
Cannot retrieve channel.xml for channel "doc.php.net" (Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known)
Updating channel "pear.php.net"
Channel "pear.php.net" is not responding over http://, failed with message: Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known
Trying channel "pear.php.net" over https:// instead
Cannot retrieve channel.xml for channel "pear.php.net" (Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known)
Updating channel "pecl.php.net"
Channel "pecl.php.net" is not responding over http://, failed with message: Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known
Trying channel "pecl.php.net" over https:// instead
Cannot retrieve channel.xml for channel "pecl.php.net" (Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known)

你以前試過這個嗎?

pear clear-cache
pear update-channels
pear upgrade

我有pecl和oci8這個問題。 通過設置代理以通過我們的防火牆解決:

sudo pear config-set http_proxy http://username:password@proxy.domain:port

也許這是你的問題?

似乎任何連接問題都可能導致pear install返回“沒有可用的版本”。 pear list-upgradespear update-channels等其他梨命令會返回更多有用的錯誤。

當OP運行pear update-channels他們得到“php_network_getaddresses:getaddrinfo failed:Name或service not known”錯誤。 所以我的猜測是OP在他們的VM上有某種DNS配置問題。

在我們自己的情況下,我們的Linux服務器是AWS EC2實例。 當我們運行pear list-upgrades我們看到了“Connection timed out”消息。 所以我們的問題是我們的AWS安全組阻止了出站HTTP流量。

在我的情況下,我使用pecl二進制而不是pear二進制,它幫助安裝包並擺脫No releases available...錯誤。

我知道OP使用了pecl但我在使用php_pear資源的廚師中php_pear完全相同的錯誤之后來到這里所以我會留在這里以防有人會像我一樣找到這個頁面。

我在安裝ev遇到了同樣的問題,並且clear-cache不起作用!

就我而言,問題是通過重新安裝php-pear解決的。

所以,我試過sudo apt remove php-pear然后sudo apt-get install php-pear

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM