Laravel生产问题 - 使用Laravel 4.1.x更新composer

16

到目前为止,我在部署我的Laravel项目时没有遇到任何问题。我已经为这个项目部署了将近一年的时间了。但是最近出现了一些新的bug。

首先, 我无法运行composer update,因为它显示出以下错误。

composer update
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "/usr/local/bin/composer self-update" to get the latest version.
Loading composer repositories with package information
Updating dependencies (including require-dev)



  [RuntimeException]
  Could not load package classpreloader/classpreloader in http://packagist.org: [UnexpectedValueException] Could not parse version constraint ^1.2.2: Invalid
   version string "^1.2.2"






  [UnexpectedValueException]
  Could not parse version constraint ^1.2.2: Invalid version string "^1.2.2"



update [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--lock] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--with-dependencies] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader] [packages1] ... [packagesN]

所以我做的是更新我的Composer库。

这是我的当前版本。

 Composer version 1e27ff5e22df81e3cd0cd36e5fdd4a3c5a031f4a 2014-08-11 15:46:48

我更新了Composer。

[api@my staging-hoho-middleware]$ sudo composer self-update^C
[api@my staging-hoho-middleware]$ sudo /usr/local/bin/composer self-update
Updating to version b2173d28fc8b56236eddc8aa10dcda61471633ec.
    Downloading: 100%
Use composer self-update --rollback to return to version 1e27ff5e22df81e3cd0cd36e5fdd4a3c5a031f4a
[api@my staging-hoho-middleware]$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)

但是当我运行composer update时,遇到了一个新问题。

[api@my staging-hoho-middleware]$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - phpunit/phpunit 4.7.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.7.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.7.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.7.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.9 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.8 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.7 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.6 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.5 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.10 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.6.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.5.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.5.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.4.5 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.4.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.4.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.4.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.4.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.4.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.3.5 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.3.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.3.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.3.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.3.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.3.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.2.6 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.2.5 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.2.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.2.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.2.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.2.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.

     - phpunit/phpunit 4.0.12 requires ext-dom * -> the requested PHP extension dom is missing from your system.                                                                                     [0/1888]
    - phpunit/phpunit 4.0.11 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.0.10 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.0.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 4.0.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.9 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.8 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.7 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.6 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.5 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.4 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.38 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.37 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.36 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.35 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.34 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.33 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.32 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.31 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.30 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.3 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.29 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.28 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.27 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.26 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.25 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.24 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.23 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.22 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.21 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.20 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.2 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.19 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.18 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.17 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.16 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.15 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.14 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.13 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.12 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.11 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.10 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 3.7.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - Installation request for phpunit/phpunit * -> satisfiable by phpunit/phpunit[3.7.0, 3.7.1, 3.7.10, 3.7.11, 3.7.12, 3.7.13, 3.7.14, 3.7.15, 3.7.16, 3.7.17, 3.7.18, 3.7.19, 3.7.2, 3.7.20, 3.7.21, 3.7.
22, 3.7.23, 3.7.24, 3.7.25, 3.7.26, 3.7.27, 3.7.28, 3.7.29, 3.7.3, 3.7.30, 3.7.31, 3.7.32, 3.7.33, 3.7.34, 3.7.35, 3.7.36, 3.7.37, 3.7.38, 3.7.4, 3.7.5, 3.7.6, 3.7.7, 3.7.8, 3.7.9, 4.0.0, 4.0.1, 4.0.10, 4
.0.11, 4.0.12, 4.0.13, 4.0.14, 4.0.15, 4.0.16, 4.0.17, 4.0.18, 4.0.19, 4.0.2, 4.0.20, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.1.6, 4.2.0, 4.2.1, 4.2.2,
 4.2.3, 4.2.4, 4.2.5, 4.2.6, 4.3.0, 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.5, 4.4.0, 4.4.1, 4.4.2, 4.4.3, 4.4.4, 4.4.5, 4.5.0, 4.5.1, 4.6.0, 4.6.1, 4.6.10, 4.6.2, 4.6.3, 4.6.4, 4.6.5, 4.6.6, 4.6.7, 4.6.8, 4.6.9,
 4.7.0, 4.7.1, 4.7.2, 4.7.3].

现在我倾向于卸载我的composer,并创建一个新的干净副本。


1
很让人沮丧的是,错误信息中没有提到缺失的php扩展dom。安装php-xml解决了我的问题。你怎么知道缺少的是这个呢? - Peter Wiseman
4个回答

54
sudo apt-get install php5.6-xml

在使用 PHP 5.6 的 Ubuntu 系统中为我修复了这个问题。(顺便说一句,这与 Laravel 框架无关 - 我根本没有使用那个框架。)


2
sudo apt-get install php-xml 对我有用。这是在之前的答案中由Peter Wiseman指出的(我有php7)。 - Pranay Aryal
26
PHP 7 可以使用 sudo apt-get install php7.0-xml 命令来安装 XML 扩展。 - Js Lim
@JsLim 正确,首先我尝试使用 sudo apt-get install php7.1-xml,但是由于某些原因,只有您的命令对我有效。 - Tpojka
@Tpojka 如果你正在使用7.1版本,我假设你已经将php仓库添加到apt列表中。只需运行sudo apt-get update,然后安装7.1 xml即可。 - Js Lim
@JsLim 我自己犯了错误。外面的版本是 7.0.10 而不是 7.1 - Tpojka
确实,这个问题是与PHP依赖项有关的问题。 - olleh

12

我安装了缺失的依赖项来修复它。

1008  php -v
1009  yum search php55
1010  yum -y install php55w-xml.x86_64 
1011  clear
1012  su - api
1013  httpd restart
1014  service httpd restart

1

我遇到了同样的问题,在终端中执行composer安装命令,问题解决了。

通过yum install命令安装composer:

yum install composer -y

0

您可以安装phpunit,如果出现问题,请执行以下命令:sudo a2dismod php5。如果您仍有疑问,请通过查看系统日志来分析您的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接