Amazon web services 编写器AWS无效版本字符串^5.3
我正在通过composer加载AWS API,出现以下错误:Amazon web services 编写器AWS无效版本字符串^5.3,amazon-web-services,composer-php,Amazon Web Services,Composer Php,我正在通过composer加载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 no
[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
- 您可以通过在生产环境中预先安装依赖项来避免此问题。这意味着在本地“构建”您的应用程序并将其打包以供分发(包括所有依赖项),然后上载/安装/配置
- 您还可以添加beanstalk配置文件,目标是运行
composer自我更新
.ebextensions\composer.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部署指南,因为其中包含该文件的示例:
和eExtensions指南:
我正在使用localhost和本地安装的Composer。也完成了作曲家的自我更新 如何使用Composer安装aws sdk php 如果您只想获取aws sdk包以在本地使用它, 您可以使用以下composer.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安装-vvv--profile--preferred dist-o
这将安装aws sdk php包的v2.6.16。请注意,这不是最新版本,但我认为您有意定义了
2.6.*
。如果不考虑提高版本。我遇到了同样的问题,但我也收到了过期的警告:
警告:composer的此开发版本已超过30天。建议通过运行“composer.phar self update”进行更新,以获得最新版本 因此,我运行了php composer.phar自我更新
然后php composer.phar更新
它对我很有效:)我使用的是本地主机和本地安装的Composer。完成了composer的自我更新,所以问题不是部署到AWS,而是获取AWS sdk php包以在本地使用它?好吧,问题完全错了。我已经更新了我的答案,并包含了一个获取包的composer.json文件。@Justinas我遇到了同样的问题,并且在
composer自我更新之后它工作了。