web-dev-qa-db-ja.com

Symfony2 stop Composer parameters.yml.distをparameters.ymlにインストール

Symfony 2.3の新機能であるcomposer installスクリプトは、parameters.yml.distファイルの内容をparameters.ymlファイルにコピーします。詳細は here で説明します。

私の質問は、composerこのアクションの実行を停止するにはどうすればよいですか?

47
Andrew Atkinson

composer.jsonからこの行を2回削除します。

"Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",

これは、これを行うスクリプトを含むIncenteevParameterHandlerライブラリーによって行われます。構成からスクリプトを削除すると、スクリプトが呼び出されることはありません。

その行を永久に削除する場合は、これらの行も削除できます(ライブラリはもう必要ないため)。

"incenteev/composer-parameter-handler": "~2.0",

...

"incenteev-parameters": {
    "file": "app/config/parameters.yml"
},
77
Wouter J

最初のソリューション:add "keep-outdated":truein 'extra'セクションのcomposer.json

[...]
"extra": {
    "symfony-app-dir": "app",
    "symfony-web-dir": "web",
    "incenteev-parameters": {
        "file": "app/config/parameters.yml",
        "keep-outdated": true  <------------ ADDED LINE ------------
    },
    "branch-alias": {
        "dev-master": "2.3-dev"
    },
    "symfony-assets-install": "symlink"
}
[...]

incenteevはパラメーターを削除しません。

2番目の解決策app/config/parameter.yml.distファイルを変更します。私にとっては、Sqliteパラメータ 'path' 'memory'を追加し、毎回削除するのを避けることでした作曲家の更新

# app/config/parameter.yml.dist
parameters:
    database_driver:   pdo_sqlite
    database_Host:     ~
    database_port:     ~
    database_name:     ~
    database_user:     ~
    database_password: ~
    database_path:     ~ <------------ ADDED LINE ------------
    database_memory:   ~ <------------ ADDED LINE ------------
[...]

どのソリューションが最適かはわかりませんが、両方とも機能します。

56
David Jacquel

このパラメーターの配列を空のままにします。

"incenteev-parameters": {
    "file": "app/config/parameters.yml"
},

composer.jsonファイルの追加セクションで機能するはずです。

"incenteev-parameters": {},
4
Xavi

これは私の意見では正しい解決策です:

"incenteev-parameters": {
    "file": "app/config/parameters.yml",
    "keep-outdated": true
},

このgithubの問題 https://github.com/symfony/symfony-standard/issues/642 およびincenteev-parametersのgithubドキュメントで言及されていました https:// github.com/Incenteev/ParameterHandler

1
Bitclaw