首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SilverStripe composer版本与silverstripe/cms有关的问题

SilverStripe composer版本与silverstripe/cms有关的问题
EN

Stack Overflow用户
提问于 2013-11-16 10:50:11
回答 1查看 788关注 0票数 0

我想使用SilverStripe模块“sheadawson/silverstripe-块开发母版”。当我用composer安装它时,我需要安装一些模块,如multivaluefield等。我毫无问题地安装了它们。现在,我得到了以下终端输出:

代码语言:javascript
运行
复制
Pascal@Nemesis:~/Sites/xyz$ composer require sheadawson/silverstripe-blocks dev-master
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for silverstripe/cms 1.0.0 -> satisfiable by silverstripe/cms[1.0.0].
- sheadawson/silverstripe-blocks dev-master requires silverstripe/cms 3.1.* -> satisfiable by silverstripe/cms[3.1.0, 3.1.1, 3.1.2].
- Can only install one of: silverstripe/cms[3.1.0, 1.0.0].
- Can only install one of: silverstripe/cms[3.1.1, 1.0.0].
- Can only install one of: silverstripe/cms[3.1.2, 1.0.0].
- Installation request for sheadawson/silverstripe-blocks dev-master -> satisfiable by sheadawson/silverstripe-blocks[dev-master].

我可以看到,3.1.*依赖导致了3个可能的版本。但是1.0.0版本的cms让我有点困惑,因为我对这个版本没有任何依赖。

当我想安装3.1.2版本时

代码语言:javascript
运行
复制
composer require silverstripe/cms 3.1.2

我得到以下输出:

代码语言:javascript
运行
复制
Pascal@Nemesis:~/Sites/xyz$ composer require silverstripe/cms 3.1.2
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for silverstripe/cms 1.0.0 -> satisfiable by silverstripe/cms[1.0.0].
- Can only install one of: silverstripe/cms[3.1.2, 1.0.0].
- Installation request for silverstripe/cms 3.1.2 -> satisfiable by silverstripe/cms[3.1.2].

我的composer.json文件的内容如下所示:

代码语言:javascript
运行
复制
{
    "name": "silverstripe/cms",
    "type": "silverstripe-module",
    "description": "The SilverStripe Content Management System",
    "homepage": "http://silverstripe.org",
    "license": "BSD-3-Clause",
    "keywords": ["silverstripe", "cms"],
    "authors": [
        {
            "name": "SilverStripe",
            "homepage": "http://silverstripe.com"
        },
        {
            "name": "The SilverStripe Community",
            "homepage": "http://silverstripe.org"
        }
    ],
    "require": {
        "php": ">=5.3.2",
        "ajshort/silverstripe-gridfieldextensions": "dev-master",
        "silverstripe/multivaluefield": "dev-master"
    }
}

有人知道为什么composer也想安装1.0.0版的cms吗?我已经尝试过删除所有模块、清理composer.json、删除composer.lock、composer更新以及其他在我脑海中出现的东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-16 11:52:26

您的composer.json看起来确实是来自那个CMS的文件,而不是来自您自己的软件。

如果是这样的话,我并不奇怪作曲家会感到困惑。在该composer.json中,您可以声明"silverstripe/cms“是您的软件。如果您将软件标记为1.0.0版本,则创建"silverstripe/cms 1.0.0“--任何需要更高版本的软件现在都不能工作。

通常,如果您开始使用Composer,那么最好在软件的主目录中运行composer init,然后以交互的方式回答有关您的软件的一些问题。

在最基本的情况下,创建一个空文件composer.json,并添加一对花括号,然后填写一个“要求”键和所需的软件。

你永远不应该做的事:不解决所有问题就从其他人那里复制composer.json。我不知道您为获取当前版本做了什么,但我想您可能已经克隆了一些存储库来启动项目。这并不是完全错误的--但是应该有人改进这个工作流程,以避免与作曲家有麻烦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20017517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档