编写器AWS无效版本字符串^5.3



我正在通过编写器加载AWS API,并得到以下错误:

[RuntimeException]
Could not load package aws/aws-sdk-php in http://packagist.org: [Unexpected
ValueException] Could not parse version constraint ^5.3: Invalid version st
ring "^5.3"
[UnexpectedValueException]
Could not parse version constraint ^5.3: Invalid version string "^5.3"
配置:

{
    "name": "RepositoryName",
    "homepage": "http://homepage.elasticbeanstalk.com",
    "archive": {
        "directory": "dist",
        "format": "zip",
        "skip-dev": false,
        "absolute-directory": "/var/www/html/web/dist"
    },
    "repositories": [
        { "type": "composer", "url": "http://packagist.org" }
    ],
    "require": {
        "abeautifulsite/jquery-minicolors": "2.1.6",
        "aws/aws-sdk-php": "2.6.*"
    },
    "require-dependencies": true
}

正如你所看到的,我正在请求2.6.*版本,而不是^5.3。有什么好办法吗?在本地和AWS上运行结果相同。

这是由于错误或不支持的语法而导致的Composer解析错误。

我认为旧版本的Composer不能处理^操作符

先试一个composer self-update


  • 您正在使用最新的Elastic Beanstalk堆栈吗?最新的堆栈应该提供一个支持新语法特性的最新版本的Composer。
  • 你可以通过预先安装依赖部署到生产环境来避免这个问题。这意味着在本地"构建"你的应用程序,并将其打包以分发(包括所有依赖项),然后上传/安装/配置。
  • 您还可以添加一个beanstalk配置文件,目标是运行composer self-update

.ebextensionscomposer.config

commands:
  01updateComposer:
    command: export COMPOSER_HOME=/root && /usr/bin/composer.phar self-update
option_settings:
  - namespace: aws:elasticbeanstalk:application:environment
    option_name: COMPOSER_HOME
    value: /root

此处引用Symfony 2 AWS部署指南,因为它包含该文件的示例:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_PHP_symfony2.html

和ebeextensions指南:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html


我使用本地主机和本地安装的Composer。完成composer self-update, too

如何安装aws-sdk-php与Composer?

如果您只想获取aws-sdk包以便在本地使用它,您可以使用以下编写器。以Json文件为例:

composer.json:

{
    "name": "my/project-using-aws-package",
    "require": {
        "abeautifulsite/jquery-minicolors": "2.1.6",
        "aws/aws-sdk-php": "2.6.*"
    },
    "autoload": {
        "psr-4": {
            "MyApp\": "app/"
        }
    }
}

执行命令composer install -vvv --profile --prefer-dist -o .

这将安装v2.6.16的aws-sdk-php包。请注意,这不是最新版本,但我认为你故意定义了2.6.*

我遇到了同样的问题,但我也收到了过时的警告:

警告:这个作曲家的开发版本已经超过30天了。建议通过运行"composer"来更新它。点击"self-update"获取最新版本。

所以,我运行了php composer.phar self-update然后php composer.phar update

它为我工作:)

相关内容

  • 没有找到相关文章