我需要为我的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中只更新/安装一个库?
要安装doctrine/doctrine-fixtures-bundle
,版本为2.1.*
,最小稳定性为@dev
,请使用此方法。
composer.phar require doctrine/doctrine-fixtures-bundle:2.1.*@dev
然后只更新这个单一的软件包。
composer.phar update doctrine/doctrine-fixtures-bundle
如果你只想更新几个软件包而不是全部,你可以把它们列出来。
php composer.phar update vendor/package:2.* vendor/package2:dev-master
你也可以使用通配符来一次性更新一堆软件包。
php composer.phar update vendor/*
dist
中安装软件包。platform
config option。require-dev
中列出的软件包(这是默认行为)。autoload-dev
规则。--prefer-stable
一起使用。假设出现以下情况。
composer.json。
"parsecsv/php-parsecsv": "0.*"
composer.lock文件。
"name": "parsecsv/php-parsecsv",
"version": "0.1.4",
最新版本是
1.1.0
。 最新的0.*
版本是0.3.2
。
install: composer install parsecsv/php-parsecsv
。
这将安装锁文件中指定的0.1.4
版本。
update: composer update parsecsv/php-parsecsv
。
这将使软件包更新到0.3.2
。
与你的composer.json相关的最高版本。
composer.lock
中的条目将被更新。
require: composer require parsecsv/php-parsecsv
。
这将更新或安装最新的版本1.1.0
。
你的composer.lock
文件和composer.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
然后你就按回车键。终端会询问另一个软件包,如果你不想安装另一个,只需按回车键,就可以了。