簡體   English   中英

無法將您的要求解析為一組可安裝的軟件包

[英]Your requirements could not be resolved to an installable set of packages

很抱歉將這個問題與另一個問題重復。 我無法解決我的問題。

我正在開發一個基於Ratchet的項目。 我正在嘗試運行Push Integration示例。 因此,為了運行,我應該使用 composer 來獲取一些依賴項。 我制作了一個 composer.json 文件,如下所示:

{
    "autoload": {
        "psr-0": {
            "MyApp": "src"
        }
    },
    "require": {
        "cboden/ratchet": "0.3.*",
        "react/zmq": "0.2.*|0.3.*"
    }
}

當我對其執行 composer 時,出現以下錯誤:

Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - react/zmq v0.3.0 requires ext-zmq * -> the requested PHP extension zmq is missing from your system.
    - react/zmq v0.2.0 requires ext-zmq * -> the requested PHP extension zmq is missing from your system.
    - Installation request for react/zmq 0.2.*|0.3.* -> satisfiable by react/zmq[v0.2.0, v0.3.0].

您可以在下面找到RatchetZMQ

ZMQ:

{
    "name": "react/zmq",
    "description": "ZeroMQ bindings for React.",
    "keywords": ["zmq", "zeromq"],
    "license": "MIT",
    "require": {
        "php": ">=5.4.0",
        "ext-zmq": "*",
        "evenement/evenement": "~2.0",
        "react/event-loop": "0.4.*"
    },
    "require-dev": {
        "ext-pcntl": "*"
    },
    "autoload": {
        "psr-0": { "React\\ZMQ": "src" }
    },
    "extra": {
        "branch-alias": {
            "dev-master": "0.4-dev"
        }
    }
}

棘輪:

{
    "name": "cboden/ratchet"
  , "type": "library"
  , "description": "PHP WebSocket library"
  , "keywords": ["WebSockets", "Server", "Ratchet", "Sockets"]
  , "homepage": "http://socketo.me"
  , "license": "MIT"
  , "authors": [
        {
            "name": "Chris Boden"
          , "email": "cboden@gmail.com"
          , "role": "Developer"
        }
    ]
  , "support": {
        "forum": "https://groups.google.com/forum/#!forum/ratchet-php"
      , "issues": "https://github.com/ratchetphp/Ratchet/issues"
      , "irc": "irc://irc.freenode.org/reactphp"
    }
  , "autoload": {
        "psr-0": {
            "Ratchet": "src"
        }
    }
  , "require": {
        "php": ">=5.3.9"
      , "react/socket": "0.3.*|0.4.*"
      , "guzzle/http": "~3.6"
      , "symfony/http-foundation": "~2.2"
      , "symfony/routing": "~2.2"
    }
}

怎么了? 請給我一個解決方案。 提前致謝 :)

好的,我們開始...

您必須事先在操作系統中安裝 ZMQ 和 ZMQ 綁定。 以下示例基於 Debian Linux,但它應該適用於其他操作系統。

首先:安裝 0MQ:轉到http://zeromq.org/area:download並根據您的操作系統選擇一個包,在我的情況下,我選擇了 POSIX tarball Stable Release 4.0.4。

~$ tar -xvf zeromq-4.0.4.tar
~$ cd zeromq-4.0.4
~$ ./configure
~$ make
~$ sudo make install

好的,我們剛剛安裝了 ZMQ 現在需要安裝 zmq php 綁定...確保你已經安裝了 php-dev 和 php pear。 如果不:

~$ sudo apt-get install php5-dev php-pear
~$ sudo pecl install zmq-beta

好的,我們現在已經安裝了 ZMQ 和 php 綁定(ext-php),但是我們應該向 php.ini 添加“extension=zmq.so”(或在 windows 上的 extension=php_zmq.dll):在我的情況下:

~$ sudo nano /etc/php5/apache2/php.ini

注意:如果 PHP 版本是 5.4.x(或 5.4+,但我還沒有測試過......)你需要在 /etc/php5/conf.d 中添加一個 zmq.ini 文件並放置“extension=zmq 。所以”:

~$ sudo nano /etc/php5/conf.d/20-zmq.ini

重新加載 HTTP 服務器(在我的情況下是 apache):

~$  sudo service apache2 reload

哇!!! 現在我們要更新作曲家的要求:

~$ composer --verbose update
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing react/zmq (v0.3.0)
    Downloading: 100%         
    Extracting archive

Writing lock file
Generating autoload files

如果您在遵循上述答案后仍然遇到相同的錯誤,則可能是因為composer通常使用的php.ini不正確。
您還必須更新CLI PHP的 ini。

如果您從終端內部運行命令php --ini ,那么您應該看到如下所示的內容:

在此處輸入圖片說明

這個.ini意味着與/etc/php5/apache2/php.ini不同的用法。 因此,如果您認為已經按照正確的工作流程安裝了擴展,請更新/etc/php5/cli/php.ini並在其中添加extension=zmq.so

希望您在使用 composer 安裝時擺脫the requested PHP extension zmq is missing錯誤。

如果您在 Windows 上使用 Xampp,請按照以下步驟操作

  1. http://pecl.php.net/package/zmq下載所有 dll 到您匹配的操作系統。 確保你得到了正確的(x86 或 x64)並且它是線程安全的或非線程安全的。 你怎么知道的? 是時候玩 DLL 輪盤了。
  2. libzmq.dll復制到您的xampp/php/
  3. php_zmq.dll復制到您的 php 擴展目錄(例如xampp/php/ext/
  4. 然后將此添加到您的 php.ini extension=php_zmq.dll

暫無
暫無

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

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