【问题标题】:Can't run composer update missing mbstring无法运行 composer update 缺少 mbstring
【发布时间】:2020-11-03 12:57:02
【问题描述】:

已解决: 我最终使用 php 7.2 而不是 php7.4 我删除了 7.4 并安装了 7.2

所以我正在尝试配置 Linux Ubuntu 20.04 服务器以运行 laravel,并且我安装了 nginx、mysql php7.4-fpm,我从 gitlab 克隆了我的项目,现在我想运行 composer update,但它总是给我这个错误:

    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
    - laravel/framework v7.9.2 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.9.1 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.9.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.8.1 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.8.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.7.1 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.7.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.6.2 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.6.1 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.6.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.5.2 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.5.1 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.5.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.4.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.3.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.2.2 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.2.1 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.2.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.19.1 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.19.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.18.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.17.2 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.17.1 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.17.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.16.1 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.16.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.15.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.14.1 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.14.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.13.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.12.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.11.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.10.3 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.10.2 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.10.1 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.10.0 requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - laravel/framework v7.1.3 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.1.2 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.1.1 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.1.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.8 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.7 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.6 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.5 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.4 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.3 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.2 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.1 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework v7.0.0 requires ext-mbstring * -> the requested PHP exte                                        nsion mbstring is missing from your system.
    - laravel/framework 7.x-dev requires ext-mbstring * -> the requested PHP ext                                        ension mbstring is missing from your system.
    - Installation request for laravel/framework ^7.0 -> satisfiable by laravel/                                        framework[7.x-dev, v7.0.0, v7.0.1, v7.0.2, v7.0.3, v7.0.4, v7.0.5, v7.0.6, v7.0.                                        7, v7.0.8, v7.1.0, v7.1.1, v7.1.2, v7.1.3, v7.10.0, v7.10.1, v7.10.2, v7.10.3, v                                        7.11.0, v7.12.0, v7.13.0, v7.14.0, v7.14.1, v7.15.0, v7.16.0, v7.16.1, v7.17.0,                                         v7.17.1, v7.17.2, v7.18.0, v7.19.0, v7.19.1, v7.2.0, v7.2.1, v7.2.2, v7.3.0, v7.                                        4.0, v7.5.0, v7.5.1, v7.5.2, v7.6.0, v7.6.1, v7.6.2, v7.7.0, v7.7.1, v7.8.0, v7.                                        8.1, v7.9.0, v7.9.1, v7.9.2].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.4/cli/php.ini
    - /etc/php/7.4/cli/conf.d/10-mysqlnd.ini
    - /etc/php/7.4/cli/conf.d/10-opcache.ini
    - /etc/php/7.4/cli/conf.d/10-pdo.ini
    - /etc/php/7.4/cli/conf.d/20-calendar.ini
    - /etc/php/7.4/cli/conf.d/20-ctype.ini
    - /etc/php/7.4/cli/conf.d/20-exif.ini
    - /etc/php/7.4/cli/conf.d/20-ffi.ini
    - /etc/php/7.4/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.4/cli/conf.d/20-ftp.ini
    - /etc/php/7.4/cli/conf.d/20-gettext.ini
    - /etc/php/7.4/cli/conf.d/20-iconv.ini
    - /etc/php/7.4/cli/conf.d/20-json.ini
    - /etc/php/7.4/cli/conf.d/20-mysqli.ini
    - /etc/php/7.4/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.4/cli/conf.d/20-phar.ini
    - /etc/php/7.4/cli/conf.d/20-posix.ini
    - /etc/php/7.4/cli/conf.d/20-readline.ini
    - /etc/php/7.4/cli/conf.d/20-shmop.ini
    - /etc/php/7.4/cli/conf.d/20-sockets.ini
    - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.4/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.4/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.4/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PH                                        P in CLI mode.

当我运行 php --ini 这是输出

administrator@orion:/var/www/truckstock$ php --ini
Configuration File (php.ini) Path: /etc/php/7.4/cli
Loaded Configuration File:         /etc/php/7.4/cli/php.ini
Scan for additional .ini files in: /etc/php/7.4/cli/conf.d
Additional .ini files parsed:      /etc/php/7.4/cli/conf.d/10-mysqlnd.ini,
/etc/php/7.4/cli/conf.d/10-opcache.ini,
/etc/php/7.4/cli/conf.d/10-pdo.ini,
/etc/php/7.4/cli/conf.d/20-calendar.ini,
/etc/php/7.4/cli/conf.d/20-ctype.ini,
/etc/php/7.4/cli/conf.d/20-exif.ini,
/etc/php/7.4/cli/conf.d/20-ffi.ini,
/etc/php/7.4/cli/conf.d/20-fileinfo.ini,
/etc/php/7.4/cli/conf.d/20-ftp.ini,
/etc/php/7.4/cli/conf.d/20-gettext.ini,
/etc/php/7.4/cli/conf.d/20-iconv.ini,
/etc/php/7.4/cli/conf.d/20-json.ini,
/etc/php/7.4/cli/conf.d/20-mysqli.ini,
/etc/php/7.4/cli/conf.d/20-pdo_mysql.ini,
/etc/php/7.4/cli/conf.d/20-phar.ini,
/etc/php/7.4/cli/conf.d/20-posix.ini,
/etc/php/7.4/cli/conf.d/20-readline.ini,
/etc/php/7.4/cli/conf.d/20-shmop.ini,
/etc/php/7.4/cli/conf.d/20-sockets.ini,
/etc/php/7.4/cli/conf.d/20-sysvmsg.ini,
/etc/php/7.4/cli/conf.d/20-sysvsem.ini,
/etc/php/7.4/cli/conf.d/20-sysvshm.ini,
/etc/php/7.4/cli/conf.d/20-tokenizer.ini

为了解决这个问题,我尝试使用命令 sudo apt install php7.4-mbstring 安装 php-mbstring,这是我遇到的错误

administrator@orion:/etc/php/7.4/mods-available$ sudo apt install php7.4-mbstring
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 php7.4-mbstring : Depends: libonig5 (>= 6.8.1) but it is not installable
E: Unable to correct problems, you have held broken packages.
administrator@orion:/etc/php/7.4/mods-available$

有人知道如何解决这个问题吗?

【问题讨论】:

  • 请添加php版本和composer版本。
  • 是什么让您无法安装缺少的依赖项?
  • php 是 7.4,它不会安装 php7.4-mbstring 我收到此错误php7.4-mbstring : Depends: libonig5 (>= 6.8.1) but it is not installable
  • 请分享更多细节。 *为什么'那个包不能安装?应该是,因为它没有很多依赖项,并且它在 Ubuntu 20.04 中以 v6.9.2 的形式提供。 “你拿着破损的包裹”听起来像是一个更广泛的问题

标签: php linux ubuntu composer-php mbstring


【解决方案1】:

这是您需要在服务器上执行的命令

sudo apt update
sudo apt install php-mbstring

【讨论】:

  • 所以当我运行时,我会安装 php-mbstring 但对于 php7.2 root@orion:~# apt install php-mbstring Reading package lists... Done Building dependency tree Reading state information... Done php-mbstring is already the newest version (1:7.2+60ubuntu1). 0 upgraded, 0 newly installed, 0 to remove and 91 not upgraded. root@orion:~#
  • 对于 7.2,您输入 sudo apt install php7.2-mbstring
  • 我需要它来为 php 7.4 adn 安装它,当我尝试它时说 `php7.4-mbstring : Depends: libonig5 (>= 6.8.1) 但它不可安装`
猜你喜欢
  • 2015-10-19
  • 1970-01-01
  • 2018-02-20
  • 2016-03-01
  • 2015-03-09
  • 2018-09-22
  • 2016-10-11
  • 2018-12-11
相关资源
最近更新 更多