私は私のSF2ディストリビューション(DoctrineFixtures)のために1つのパッケージだけをインストールする必要があります。
走ったとき
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から1つのライブラリだけを更新/インストールするにはどうすればよいですか?
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/*
source
からパッケージをインストールします。dist
からパッケージをインストールします。php
、hhvm
、lib-*
およびext-*
の要件を無視し、ローカルマシンがこれらを満たさなくてもインストールを強制する。 platform
configオプション も参照してください。require-dev
にリストされているパッケージをインストールします(これがデフォルトの動作です)。require-dev
にリストされているパッケージのインストールをスキップします。オートローダの生成はautoload-dev
規則をスキップします。--prefer-stable
とともに使用されます。新しいパッケージをインストールするためにも、基本的に次のようにすることができます。
php composer.phar require
その後、terminalは検索のためにパッケージの名前を入力するようにあなたに尋ねます。
$ Search for a package []: //Your package name here
そうするとterminalはパッケージのバージョンを尋ねます(最新のバージョンを空白にしたい場合)
$ Enter the version constraint to require (or leave blank to use the latest version) []: //your version number here
それならリターンキーを押すだけです。別のパッケージをインストールしたくない場合には、Terminalは別のパッケージを要求しますので、リターンキーを押すだけで完了です。
インストールvs更新vs必須
以下のシナリオを想定してください。
composer.json
"parsecsv/php-parsecsv": "0.*"
composer.lockファイル
"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に関する最高のバージョン。 composer.lock
のエントリが更新されます。
composer require parsecsv/php-parsecsv
これにより、最新バージョンの1.1.0
が更新またはインストールされます。あなたのcomposer.lock
ファイルとcomposer.json
ファイルも同様に更新されます。
Composer.jsonで設定したバージョン制限内で、すでにインストールされている1つのパッケージを確実に最後のバージョンに更新するには、そのパッケージをベンダーから削除して実行します。
php composer.phar update vendor/package
ただ使う
composer require {package/packagename}
好き
composer require phpmailer/phpmailer
packageがベンダーフォルダにない場合.. composerインストールし、packageが存在する場合は、composerパッケージを最新バージョンに更新します。
あなたは特定のパッケージをインストールしたいと思ったので "私は私のSF2ディストリビューション(DoctrineFixtures)のために1つのパッケージだけをインストールする必要があります。"
php composer.phar require package/package-name:package-version
で十分でしょう