web-dev-qa-db-fra.com

mais ceux-ci entrent en conflit avec vos exigences ou avec une stabilité minimale

Je crée mon propre slackbot. J'ai décidé d'utiliser Project comme une bibliothèque pour m'aider.

https://github.com/sagebind/slack-client/issues?utf8=%E2%9C%93&q=stability

Maintenant, je dois l’installer avec le compositeur.

J'ai donc utilisé la commande: composer require coderstephen/slack-client

... Et j'ai l'erreur:

 Problem 1
    - Installation request for coderstephen/slack-client ^0.3.0 -> satisfiable by coderstephen/slack-client[v0.3.0].
    - coderstephen/slack-client v0.3.0 requires devristo/phpws dev-master -> satisfiable by devristo/phpws[dev-master] but these conflict with your requirements or minimum-stability.

Ok - Alors j'ai décidé de changer mon niveau de stabilité en "dev" dans mon composer.lock:

"aliases": [],
    "minimum-stability": "dev",
    "stability-flags": {
        "devristo/phpws": 20
    },
    "prefer-stable": true,
    "prefer-lowest": false,
    "platform": {
        "php": ">=5.5"
    },
    "platform-dev": []

Maintenant, je suis à court d'idées sur ce qu'il faut faire. Le README indique qu'il faut effectuer cette étape dans composer.json mais aucun paramètre de ce type n'existe:

Veuillez noter que la version actuelle a des dépendances instables.

Pour installer ces dépendances, vous pouvez définir "stabilité minimale" dans votre composer.json et vous recommander de définir "prefer-stable":

Mon compositeur.json:

{
    "name": "coderstephen/slack-client",
    "keywords": ["slack", "api", "realtime"],
    "license": "MIT",
    "description": "A better Slack client, with RTM API support",
    "authors": [{
        "name": "Stephen Coakley",
        "email": "[email protected]"
    }],
    "require": {
        "php": ">=5.5",
        "devristo/phpws": "dev-master",
        "evenement/evenement": "2.0.*",
        "guzzlehttp/guzzle": "~6.0",
        "react/event-loop": "^0.4.1",
        "react/promise": "^2.2"
    },
    "require-dev": {
        "phpunit/phpunit": "~4.6",
        "fzaninotto/faker": "~1.4",
        "apigen/apigen": "^4.1"
    },
    "autoload": {
        "psr-4": {
            "Slack\\": "src"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Slack\\Tests\\": "tests"
        }
    }
}

Est-ce que quelqu'un connaît des solutions que je pourrais essayer?

26
linux932

Ajouter minimum-stability et prefer-stable à ton composer.json (ne pas composer.lock):

{
    "name": "coderstephen/slack-client",
    "keywords": ["slack", "api", "realtime"],
    "license": "MIT",
    "description": "A better Slack client, with RTM API support",
    "authors": [{
        "name": "Stephen Coakley",
        "email": "[email protected]"
    }],
    "require": {
        "php": ">=5.5",
        "devristo/phpws": "dev-master",
        "evenement/evenement": "2.0.*",
        "guzzlehttp/guzzle": "~6.0",
        "react/event-loop": "^0.4.1",
        "react/promise": "^2.2"
    },
    "require-dev": {
        "phpunit/phpunit": "~4.6",
        "fzaninotto/faker": "~1.4",
        "apigen/apigen": "^4.1"
    },
    "autoload": {
        "psr-4": {
            "Slack\\": "src"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Slack\\Tests\\": "tests"
        }
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}
47
Jiri Hrazdil

Vous ne devez jamais éditer manuellement le fichier composer.lock. Il s'agit d'un fichier généré automatiquement.

Il semble que vous ayez montré le fichier composer.json du paquet que vous essayez d'exiger plutôt que le fichier composer.json de votre propre projet. Le prefer-stable et minimum-stability propriétés doivent être ajoutées au fichier composer.json de la racine de votre projet:

{
  "name": "xFlare/slack-bot",
  "description": "xFlare's Slack bot project",
  "authors": [
    {
      "name": "xFlare"
    }
  ],
  "minimum-stability": "dev",
  "prefer-stable": true,
  "require": {
    "php": ">=5.5",
    "coderstephen/slack-client": "^0.3.0"
  }
}
8
Andy

Pour les autres personnes ayant le même problème, il est préférable d'effectuer ces modifications à l'aide de composer au lieu de modifier manuellement le fichier composer.json. Il suffit d'exécuter les commandes suivantes dans la console:

$ composer config minimum-stability dev

$ composer config prefer-stable true

Maintenant, vous pouvez demander et mettre à jour le paquet:

$ composer require --no-update "vendor/package-name:version"

$ composer update

Les options disponibles (par ordre de stabilité) sont dev, alpha, beta, RC et stable.

7
Daniel Kratohvil

Vous devriez ajouter la stabilité minimale dans votre composer.json et non dans le composer.lock. L'option existe voir https://getcomposer.org/doc/04-schema.md#minimum-stability

1
Cornelius Fillmore