【问题标题】:laravel/cashier v7.0.5 requires stripe/stripe-php ~4.0 -> satisfiable by stripe/stripe-phplaravel/cashier v7.0.5 需要 stripe/stripe-php ~4.0 -> 可以满足 stripe/stripe-php
【发布时间】:2018-02-13 19:51:13
【问题描述】:

我有一个 Laravel 5.5 项目并尝试从我的终端运行此命令

composer require laravel/cashier

但我遇到了这个问题:

Problem 1
  - stripe/stripe-php v3.9.2 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.9.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.9.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.8.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.7.1 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.7.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.6.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.5.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.4.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
- stripe/stripe-php v3.3.0 requires ext-curl * -> the requested PHP extension curl is missing from your system.
...
To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.1/cli/php.ini
    - /etc/php/7.1/cli/conf.d/10-mysqlnd.ini
    - /etc/php/7.1/cli/conf.d/10-opcache.ini
    - /etc/php/7.1/cli/conf.d/10-pdo.ini
    - /etc/php/7.1/cli/conf.d/15-xml.ini
    - /etc/php/7.1/cli/conf.d/20-calendar.ini
    - /etc/php/7.1/cli/conf.d/20-ctype.ini
    - /etc/php/7.1/cli/conf.d/20-dom.ini
    - /etc/php/7.1/cli/conf.d/20-exif.ini
    - /etc/php/7.1/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.1/cli/conf.d/20-ftp.ini
    - /etc/php/7.1/cli/conf.d/20-gettext.ini
    - /etc/php/7.1/cli/conf.d/20-iconv.ini
    - /etc/php/7.1/cli/conf.d/20-json.ini
    - /etc/php/7.1/cli/conf.d/20-mbstring.ini
    - /etc/php/7.1/cli/conf.d/20-mcrypt.ini
    - /etc/php/7.1/cli/conf.d/20-mysqli.ini
    - /etc/php/7.1/cli/conf.d/20-pdo_mysql.ini
    - /etc/php/7.1/cli/conf.d/20-phar.ini
    - /etc/php/7.1/cli/conf.d/20-posix.ini
    - /etc/php/7.1/cli/conf.d/20-readline.ini
    - /etc/php/7.1/cli/conf.d/20-shmop.ini
    - /etc/php/7.1/cli/conf.d/20-simplexml.ini
    - /etc/php/7.1/cli/conf.d/20-sockets.ini
    - /etc/php/7.1/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.1/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.1/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.1/cli/conf.d/20-tokenizer.ini
    - /etc/php/7.1/cli/conf.d/20-wddx.ini
    - /etc/php/7.1/cli/conf.d/20-xmlreader.ini
    - /etc/php/7.1/cli/conf.d/20-xmlwriter.ini
    - /etc/php/7.1/cli/conf.d/20-xsl.ini
    - /etc/php/7.1/cli/conf.d/20-zip.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

根据我所做的谷歌研究,我尝试将sudo apt-get install php-curl 作为一种可能的解决方案,但对我不起作用。

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

编辑这是我的 composer.json 文件

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.0.0",
        "fideloper/proxy": "~3.3",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "~6.0",
        "symfony/thanks": "^1.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        },
        "files": [
            "app/helpers.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

【问题讨论】:

  • 安装 curl 并重启你的网络服务器,看看你是否成功。如果没有看到下一个错误。
  • 不,这对我不起作用。我已经尝试过了,但我得到了同样的错误
  • 查看是否加载了 ext curl。如果不是,那么首先尝试加载 curl,因为错误表明
  • 我该怎么做?
  • 你说得对,我需要这个sudo apt-get install php7.1-curl。你想把它写成答案以便我接受吗?谢谢!

标签: php laravel composer-php laravel-5.5


【解决方案1】:

由于错误消息建议您在 PHP 上安装 curl 扩展。请安装 curl 并重新启动您的网络服务器。

您需要确保为您的 PHP 安装正确版本的 curl 扩展。 在你的情况下:

sudo apt-get install php7.1-curl

列出你的 php 上加载的扩展/模块
在终端上运行以下命令

$ php -m

【讨论】:

    【解决方案2】:

    尝试运行composer require "laravel/cashier":"7.0" 而不仅仅是composer require laravel/cashier。 Laravel 已更新到 5.6,所以你拉错了 5.5 的版本

    【讨论】:

    • 不,问题仍然存在。也试过composer require "laravel/cashier":"~7.0",但没有运气
    • 你能给我们你的composer.json文件吗?
    • 我更新了我的帖子。附带说明一下,我确实在sudo apt-get install php-curl 之后运行了composer update,但不确定是否会导致它
    猜你喜欢
    • 2015-04-18
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 1970-01-01
    • 2016-10-27
    • 2020-09-18
    • 1970-01-01
    相关资源
    最近更新 更多