我试图了解这个部分: http : //getcomposer.org/doc/02-libraries.md#lock-file 这个locking文件不会对依赖它的其他项目产生任何影响。 它只对主要项目“ 这是否意味着如果项目P依赖于库A,而库A依赖于库B v1.3,则项目P将不关心库B的版本,并且可能会安装B 1.4而不是? 那有什么意义呢? 还是意味着相反,正如人们所期望的从属经理?
假设我正在写一个图书馆A,这取决于另一个图书馆,monolog例如。 我想安装最新版本的monolog,所以我只是把它放在composer.json里面: { "require": { "monolog/monolog": "*.*.*" } } 然后我运行“$ php composer.phar install”。 我期待在composer.lock中find安装的版本,但它不在那里: { "hash": "d7bcc4fe544b4ef7561918a8fc6ce009", "packages": [ { "package": "monolog/monolog", "version": "dev-master", "source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7" } ], "packages-dev": null, "aliases": [ ], "minimum-stability": "dev", "stability-flags": [ ] } 我需要的版本,因为我想我的图书馆绑定到一个特定的版本,例如:如果我发现版本是1.3.5,在我的composer.json我想这样的东西: "require": { "monolog/monolog": "1.3.*" } 有任何想法吗?
我开始使用composer php,我对此知之甚less,并且对Web应用程序开发有一点经验。 我只是走过Nettuts +教程 ,所以我有关于composer php的基本问题。 { "require": { "laravel/framework": "4.0.*", "way/generators": "dev-master", "twitter/bootstrap": "dev-master", "conarwelsh/mustache-l4": "dev-master" }, "require-dev": { "phpunit/phpunit": "3.7.*", "mockery/mockery": "0.7.*" }, "autoload": { "classmap": [ "app/commands", "app/controllers", "app/models", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php" ] }, "scripts": { "post-update-cmd": "php artisan optimize" }, "minimum-stability": "dev" } 无论出现在“require-dev”部分,只会下载和安装composer php安装–dev ? 我读了一些composer php的文档,但仍然不明白我们有什么“需要开发”的一部分? 是因为我们想要得到特定版本的软件包,而总是得到最新的稳定版本?
简单的问题几个月来一直困扰我。 偶尔我会进入供应商目录来修复一个bug(特别是对于我们的内部库)。 在将修复程序迁移并部署到源代码包之后,我将composer update company/package在主项目中composer update company/package ,并询问: Discard changes [y,n,v,d,s,?] 我对y和n有一个体面的把握,但一直没有find有关v , d , s文档? 做? 我总是打y但也许我错过了一些有用的东西。 编辑: 添加d选项(十月十七日)
我用composer安装了一个软件包,并安装了许多其他的软件包作为依赖关系。 现在我用composer remove packageauthor/packagename卸载了主软件包, composer remove packageauthor/packagename ,但是所有旧的依赖关系都没有被删除。 我希望composer php清理,只保留根据composer.json和他们的依赖所需的包。 我如何强制composer php清理和删除所有未使用的软件包?
我一直在使用本地机器上的Symfony 2.1项目。 我已经上传到我的服务器,但是当我尝试使用Composer安装供应商捆绑,我得到了很多依赖的错误。 据推测这是刚刚发布的Symfony的最新版本,我的composer.json文件没有指定确切的版本号。 有什么方法可以快速显示我的本地机器上的所有版本号? 这是我的composer.json文件(直到几天前工作正常): { "name": "symfony/framework-standard-edition", "description": "The \"Symfony Standard Edition\" distribution", "autoload": { "psr-0": { "": "src/" } }, "require": { "php": ">=5.3.3", "symfony/symfony": "2.1.*", "doctrine/orm": ">=2.2.3,<2.4-dev", "doctrine/doctrine-bundle": "1.0.*", "twig/extensions": "1.0.*", "symfony/assetic-bundle": "2.1.*", "symfony/swiftmailer-bundle": "2.1.*", "symfony/monolog-bundle": "2.1.*", "sensio/distribution-bundle": "2.1.*", "sensio/framework-extra-bundle": "2.1.*", "sensio/generator-bundle": "2.1.*", "jms/security-extra-bundle": "1.2.*", "jms/di-extra-bundle": "1.1.*", "sonata-project/admin-bundle": "*", "sonata-project/cache-bundle": "dev-master", […]
我有一个项目有一些依赖,我想安装另一个,但我想保持其他人的方式。 所以我编辑了composer.json ,但是如果我运行composer install ,我得到以下输出: Installing dependencies from lock file Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them. Your requirements could not be resolved to an installable set of packages. Problem 1 – laravel/framework dev-master requires ext-mcrypt […]