Compositor: pacotes necessários com diferentes níveis de estabilidade mínima

Tenho um arquivo compositor para uma instalação laravel com o seguinte arquivo composer.json:

{ "name": "laravel/laravel", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "require": { "laravel/framework": "4.1.*" }, "autoload": { "classmap": [ "app/commands", "app/controllers", "app/models", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php" ] }, "scripts": { "post-install-cmd": [ "php artisan clear-compiled", "php artisan optimize" ], "post-update-cmd": [ "php artisan clear-compiled", "php artisan optimize" ], "post-create-project-cmd": [ "php artisan key:generate" ] }, "config": { "preferred-install": "dist" }, "minimum-stability": "stable" } 

Estou tentando adicionar o pacote para a sentinela. No site do Sentry, eu posso instalar isso adicionando o seguinte ao meu arquivo composer.json:

 { "require": { "cartalyst/sentry": "2.0.*" }, "minimum-stability": "dev" } 

Eu tentei adicionar o novo object json no final do laravel atual como assim:

 ... }, { "require": { "cartalyst/sentry": "2.0.*" }, "minimum-stability": "dev" } 

Quando eu executo o comando de composer update do composer update para carregar o novo pacote, recebo um erro dizendo que a nova adição de object não é válida json.

Se eu adicionar o cartalyst/sentry ao object existente require , não pode encontrar o pacote de sentinela porque o existente requer um valor de estabilidade mínima de stable .

Existe uma maneira de especificar o pacote de sentinela em um object de requisito separado que tenha a configuração de estabilidade mínima do dev ?

A resposta é apenas adicionar @dev

 { "require": { "cartalyst/sentry": "2.0.*@dev" }, } 

Você pode ler mais sobre as configurações mínimas de estabilidade aqui .

Uma alternativa é configurar sua estabilidade mínima para dev, mas diga ao compositor que você deseja usar o estável sempre que possível:

 "minimum-stability": "dev", "prefer-stable" : true 

Isso basicamente significa que sempre usará estável, SEM EXCLUSÃO, não há nenhuma maneira de instalar uma dependência estável e, portanto, usar o dev.

Você também pode usar outros níveis de estabilidade , como alpha , beta combinado com o seletor de versão.

Exemplos

Com o operador do canal – máximo da versão 2, permitindo a versão beta:

 "cartalyst/sentry": "^2@beta" 

Qualquer versão que permita alfa

 "cartalyst/sentry": "*@alpha"