【问题标题】:Dependencies not picked up after composer update/install作曲家更新/安装后未拾取依赖项
【发布时间】:2018-04-05 16:00:43
【问题描述】:

我在部署脚本中使用以下图片

image: php:7-fpm

然后做一些典型的事情来安装我的作曲家依赖:

script:
            - apt-get update && apt-get install -y unzip python-dev git
            - apt-get install -qy git curl libmcrypt-dev mysql-client
            - docker-php-ext-install mcrypt && docker-php-ext-install pdo_mysql
            - apt-get install -y curl software-properties-common gnupg
            - ./install-composer.sh
            - composer install

问题是,当我在控制台中看到正在安装的包时,当我登录服务器并转到供应商目录时,新包 (aws-sdk-php) 不在那里。

Installing aws/aws-sdk-php (dev-master 86d1892): 100%

这里出了什么问题?

更新 这是我的 composer.json 文件

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.1.3",
        "fideloper/proxy": "~4.0",
        "laravel/framework": "5.6.*",
        "laravel/tinker": "~1.0",
        "aws/aws-sdk-php": "dev-master"
    },
    "require-dev": {
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "nunomaduro/collision": "~2.0",
        "phpunit/phpunit": "~7.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "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
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

【问题讨论】:

  • 你能给我们你的作曲家json文件吗?
  • @Praem 更新了我的问题。
  • 据我所知,在使用 Laravel 时您可以使用“aws/aws-sdk-php-laravel”。更多信息在这里:github.com/aws/aws-sdk-php-laravel 同时,仍在查看您的作曲家可能有什么问题
  • 感谢分享。另外,正如您所说,其他问题一定是问题的根源
  • 部署在哪个用户下运行?您确定您在正确的目录中吗?

标签: php laravel composer-php


【解决方案1】:

嘿,对aws 的事情不太了解,但您正在尝试为aws 加载php 包laravel。虽然laravel 是php 的框架,但aws 包为laravel 提供了特殊的包。这是您在composer.json 中声明的包"aws/aws-sdk-php": "dev-master"。

而是将此"aws/aws-sdk-php-laravel": "~3.0" 包包含在您的composer.json 中。这是专门为laravel 设计的。包含后运行composer update 并查看包是否包含在vendor 目录中。

packagist 上受人尊敬的软件包的链接。

GitHub 上受人尊敬的软件包的链接。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 2014-05-31
    • 2019-12-02
    • 1970-01-01
    相关资源
    最近更新 更多