1
私は、(少なくとも公式バージョンではない)Packagistで利用できないPHPライブラリをプロジェクトに追加したいと思います。ここで私が今やっているものの例です:type = packageのcomposer.jsonリポジトリの整合性チェック
このようなcomposer.lock
エントリで
$ composer install
結果実行
{
"repositories": [
{
"type": "package",
"package": {
"name": "fpdf/fpdf",
"version": "1.81.0",
"dist": {
"type": "zip",
"url": "http://www.fpdf.org/en/dl.php?v=181&f=zip"
},
"autoload": {
"files": ["fpdf.php"]
}
}
}
],
"require": {
"fpdf/fpdf": "1.81.0"
},
"config": {
"secure-http": false
}
}
:
"packages": [
{
"name": "fpdf/fpdf",
"version": "1.81.0",
"dist": {
"type": "zip",
"url": "http://www.fpdf.org/en/dl.php?v=181&f=zip",
"reference": null,
"shasum": null
},
"type": "library",
"autoload": {
"files": [
"fpdf.php"
]
}
}
を私の知る限り、その可能性利用できるデータがありませんzipファイルの整合性をチェックするために使用されます。 (何か不足していますか?)
プロジェクトの依存関係を設定するときにComposerで使用されるzipファイルのハッシュを指定する方法はありますか?私は、zipの内容が変更されておらず、改ざんされていないことを確認したいと思います。
これは作品をインストール作曲中に例外が発生します異なっている場合は、リポジトリの設定にshasumを追加することができます。最終的に 'dist 'のプロパティが指定されているところを見つけました:[JSON Schema file for composer.json](https://getcomposer.org/schema.json)(' 'dist''を検索してください)。注:既存のセットアップにShasumを追加する場合は、次回に対応するパッケージを更新または再インストールしたときにのみ考慮されます。迅速かつ厄介な修正は、 'vendor'ディレクトリを削除し、' composer install'を再度実行することです。別の考え方は、パッケージのバージョン番号を変更し、 'composer update'を実行し、バージョン番号をリセットし、' composer update'を再度実行することです。 – mermshaus