【发布时间】:2016-03-14 22:21:40
【问题描述】:
我正在尝试在 vagrant 机器上通过 SSH 安装 composer。每当我运行 php composer.phar install 时,我都会收到以下错误:
vagrant@precise64:/vagrant$ php composer.phar install
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
- Installation request for doctrine/migrations dev-master -> satisfiable by doctrine/migrations[dev-master].
- doctrine/migrations dev-master requires php ^5.5|^7.0 -> your PHP version (5.4.45) does not satisfy that requirement.
我不知道如何处理第一个“教义安装请求...”问题,当我检查运行 php -v 时,我安装了 php 5.5.27。我也试过 sudo php composer.phar 安装。有什么见解吗?
【问题讨论】:
-
php5 -v会一样吗? .. 我建议你有 2 个不同的 php 版本,但第一个可以在/usr/bin内访问,第二个可以在/usr/local/bin内访问(或类似的位置)。通常/usr/bin/php是一个符号链接。并且,例如,您的系统中有PATH=/usr/local/bin:/usr/bin:...在/usr/local/bin中搜索php,但没有找到.. 在/usr/bin中搜索下一个,找到并运行...脚本可以运行php5而不是php。 . 系统在第一个 PATH 位置/usr/local/bin内找到了php5.. 这只是一个奇怪的建议。这可能是错误的。 -
当我在项目目录中运行 php -v 时,它正在运行 php 5.5.27。但是,在我通过运行 vagrant up 运行 vagrant 环境后,它运行 5.4.45。如何在环境中升级 php?
-
composer.json中可能有一个platform部分覆盖了 PHP 版本。 -
@mle33 哎哟...看来您在主机平台上有 5.5 版,而在 vagrant 平台上有 5.4 版。只需在 vagrant vm 中更新您的 php .. sudo su , apt-get update , apt-get upgrade 。如果 repo 中没有 php5.5,请附加 dotdeb 存储库。如何做到这一点你可以阅读here,这就像常规的 debian 更新。但我不知道它是否适用于 Ubuntu。
标签: php vagrant installation composer-php