Silverstripe 3.1通过Composer错误进行升级和扩展更新

Silverstripe 3.1通过Composer错误进行升级和扩展更新,silverstripe,Silverstripe,我正在将现有的SS安装从3.0.4升级到3.1。我按照此处的说明进行升级: 现在我正试图通过Composer更新几个SS模块(特别是我已经尝试更新Comments和DataObjectsAsPage)。我已将根目录中的composer.json文件更新为以下内容: { "name": "silverstripe/installer", "description": "The SilverStripe Framework Installer", "require": { "php": "&

我正在将现有的SS安装从3.0.4升级到3.1。我按照此处的说明进行升级:

现在我正试图通过Composer更新几个SS模块(特别是我已经尝试更新Comments和DataObjectsAsPage)。我已将根目录中的composer.json文件更新为以下内容:

{
"name": "silverstripe/installer",
"description": "The SilverStripe Framework Installer",
"require": {
    "php": ">=5.3.2",
    "silverstripe/cms": "3.1.x-dev",
    "silverstripe/framework": "3.1.x-dev",
    "silverstripe-themes/simple": "*"
},
"require-dev": {
    "silverstripe/docsviewer": "*",
    "silverstripe/behat-extension": "*",
    "silverstripe/buildtools": "*",
    "phpunit/phpunit": "3.7.*"
},
"config": {
    "process-timeout": 600  
},
"minimum-stability": "dev",
"silverstripe/comments": "*",
"arambalakjian/dataobjectaspage": "*"
}

然后我导航到我的项目目录并运行以下两项

composer update silverstripe/comments
composer update arambalakjian/dataobjectaspage
尝试更新两个扩展时,我收到了相同的错误:

Your requirements could not be resolved to an installable set of packages.
Problem 1
- Installation request for silverstripe/cms 3.1.x-dev -> satisfiable by silverstripe/cms[3.1.x-dev].
- Can only install one of: silverstripe/cms[3.1.x-dev, 3.0.3].
- Installation request for silverstripe/cms == 3.0.3.0 -> satisfiable by silverstripe/cms[3.0.3].
如何通过Composer更新扩展

谢谢您的帮助。

您是否尝试过:

composer require silverstripe/comments
composer require arambalakjian/dataobjectaspage
它应该定义项目的需求。
检查一下其中有一个关于如何将composer与SS一起使用的非常可扩展的详细信息Colymba的回答是正确的,但我确实想详细说明一下,以防其他人遇到这些错误

为了通过Composer安装模块,我执行了以下操作:

首先,我删除了3.0.4安装中保留的composer.lock文件。接下来,我删除了我的供应商目录并运行

composer update
这将我的Silverstripe安装更新为3.1(请注意,如果您自定义了“simple”主题,并且不希望将其覆盖,您可能希望将其从composer.json文件的所需部分中删除或重命名),然后我可以运行

composer require silverstripe/comments

已成功安装模块的最新版本。

我已尝试使用require命令,但仍收到相同的错误。我意识到上述错误的原因是3.0.3安装过程中遗留了composer.lock文件。删除composer.lock文件后,我不再收到上述错误。我将很快作为答案提交。在将silverstripe/注释添加到我的composer.json文件的require部分并运行composer update silverstripe/注释后,我现在得到一个错误:
只能安装其中一个:silverstripe/cms[3.1.x-dev,3.1.0-beta3].
这可能是由于安装程序composer.json文件造成的?删除现有供应商目录并运行
composer update
删除了所有错误,我可以继续。