我只需要为我的SF2发行版安装一个包(DoctrineFixtures)。
当我奔跑
php composer.phar update
我得到
- Updating twig/twig (dev-master 39d94fa => v1.13.0)
The package has modified files:
M CHANGELOG
M doc/filters/batch.test
M doc/filters/index.rst
M doc/filters/url_encode.rst
M doc/functions/index.rst
M doc/tags/index.rst
M doc/tests/index.rst
M lib/Twig/Autoloader.php
M lib/Twig/Compiler.php
M lib/Twig/CompilerInterface.php
-10 more files modified, choose "v" to view the full list
看来上一个开发人员在供应商内部编辑了很多文件。
为了解决这个问题,我试过了
php composer.phar update <package_name>
但这似乎并不奏效。如何从composer.json中更新/安装一个库?
安装,更新和要求的区别
假设以下场景:
composer.json
"parsecsv/php-parsecsv": "0.*"
作曲家。锁文件
"name": "parsecsv/php-parsecsv",
"version": "0.1.4",
最新版本是1.1.0。最新的0。*版本为0.3.2
安装:composer Install parsecsv/php-parsecsv
这将安装锁文件中指定的0.1.4版本
更新:composer Update parsecsv/php-parsecsv
这将把包更新到0.3.2。关于你的composer.json的最高版本。作曲家的词条。锁将被更新。
Require: composer Require parsecsv/php-parsecsv
这将更新或安装最新版本1.1.0。你的作曲家。锁定文件和编写器。Json文件也将被更新。
你也可以按照下面的步骤来安装新包。
php composer.phar require
然后终端会要求你输入包的名称进行搜索。
$ Search for a package []: //Your package name here
然后终端会询问包的版本(如果你想要最新的版本,就把它留空)
$ Enter the version constraint to require (or leave blank to use the latest version) []: //your version number here
然后按回车键。终端会要求安装另一个软件包,如果你不想安装另一个,只要按回车键就可以了。