composer php:具有不同级别的最低稳定性的所需软件包

我有一个用以下composer.json文件进行laravel安装的composer php文件:

{ "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" } 

我试图在哨兵中添加这个包。 在哨兵的网站上说,我可以通过添加以下内容到我的composer.json文件来安装它:

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

我尝试在当前laravel结尾处添加新的json对象,如下所示:

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

当我运行composer update命令来加载新的包时,我得到一个错误,说新的对象添加不是有效的json。

如果我将cartalyst/sentry添加到现有的require对象,则无法find哨兵软件包,因为现有的需求具有稳定的最小稳定性值。

有一种方法可以在一个单独的require对象中指定sentry包,这个对象具有dev的最小稳定性设置?

答案只是添加@dev

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

你可以在这里阅读更多关于最小稳定性设置 。

另一种方法是将最小稳定性设置为开发,但是告诉composer php您希望尽可能使用稳定性:

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

这基本上意味着它总是会使用稳定的,除非没有办法安装稳定的依赖,因此使用dev。