【问题标题】:Run php composer.phar install Error运行 php composer.phar 安装错误
【发布时间】: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


【解决方案1】:

你的盒子,precision64 (Ubuntu 12.04) 上可能有一个过时的 PHP 版本。

有几种方法可以升级 PHP。为了简单和模块化,我们将只关注 PHP 的升级。

SSH 进入盒子:

vagrant ssh

Precise repos IIRC 中默认没有您需要的 PHP 版本。添加具有更新版本的 PPA:

sudo apt-get update
sudo apt-get install -y python-software-properties
sudo add-apt-repository -y ppa:ondrej/php5
sudo apt-get update

删除现有的 PHP:

sudo apt-get purge php5

检查候选安装,它应该至少为 5.5(在这篇文章中我是 5.5.33+):

sudo apt-cache policy php5

安装更新版本的php5:

sudo apt-get install php5

现在composer 应该适合你了。

【讨论】:

    【解决方案2】:

    您的机器上似乎安装了几个 PHP。使用以下命令检查 PATH 环境中的第一个 php。

    which php
    

    【讨论】:

    • 当我在项目目录中运行 php -v 时,它正在运行 php 5.5.27。但是,在我通过运行 vagrant up 运行 vagrant 环境之后,它运行 5.4.45。当我运行 which php 时,两种情况都会导致 /usr/bin/php。如何在环境特别是 vagrant 环境中升级 php?有小费吗? @Vigikaran
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 1970-01-01
    • 2014-05-05
    • 2016-05-03
    • 1970-01-01
    • 2015-12-07
    • 2016-01-01
    相关资源
    最近更新 更多