![](/img/trans.png)
[英]Composer install Laravel: Your requirements could not be resolved to an installable set of packages
[英]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].
您可以在下面找到Ratchet
和ZMQ
:
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,請按照以下步驟操作
libzmq.dll
復制到您的xampp/php/
php_zmq.dll
復制到您的 php 擴展目錄(例如xampp/php/ext/
)extension=php_zmq.dll
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.