يقوم الملحن بتثبيت TCPDF باستخدام مستودع .git
-
21-12-2019 - |
سؤال
أحاول تثبيت TCPDF عبر الملحن.إنه يعمل، ولكن لسوء الحظ، فإنه دائمًا ما يقوم بتثبيت دليل .git بالكامل والذي يبلغ حجمه 93 ميجابايت.أريد فقط تثبيت ملفات TCPDF بدون عناصر .git.
كيف يتم فعل ذلك؟
هذا هو الملحن.json الخاص بي:
{
"name": "myprojects/project1",
"require": {
"yiisoft/yii": "~1.1.15",
"twbs/bootstrap": "~3.2.0",
"tecnick.com/tcpdf": "~6.0.89",
"phpoffice/phpexcel": "~1.8.0"
}
}
شكرا لكم مقدما.
تحرير 1:
فيما يلي تكوين الملحن في ملف الملحن TCPDF الذي تم تنزيله من packagist repo - لست متأكدًا مما إذا كان هذا قد يساعد في حل المشكلة:
{
"name": "tecnick.com/tcpdf",
"version": "6.0.089",
"homepage": "http://www.tcpdf.org/",
"type": "library",
"description": "TCPDF is a PHP class for generating PDF documents.",
"keywords": ["PDF","tcpdf","PDFD32000-2008","qrcode","datamatrix","pdf417","barcodes"],
"license": "LGPLv3",
"authors": [
{
"name": "Nicola Asuni",
"email": "info@tecnick.com",
"homepage": "http://nicolaasuni.tecnick.com"
}
],
"require": {
"php": ">=5.3.0"
},
"autoload": {
"classmap": [
"fonts",
"config",
"include",
"tcpdf.php",
"tcpdf_parser.php",
"tcpdf_import.php",
"tcpdf_barcodes_1d.php",
"tcpdf_barcodes_2d.php",
"include/tcpdf_colors.php",
"include/tcpdf_filters.php",
"include/tcpdf_font_data.php",
"include/tcpdf_fonts.php",
"include/tcpdf_images.php",
"include/tcpdf_static.php",
"include/barcodes/datamatrix.php",
"include/barcodes/pdf417.php",
"include/barcodes/qrcode.php"
]
}
}
تحرير 2:
لقد قمت بتغيير تكوين الملحن على النحو التالي عن طريق إضافة خيار التكوين "التثبيت المفضل":"ديست"، لكنه لم يساعد.لقد جربت أيضًا "dev-master" ، ولا يزال هو نفسه ...:-(
{
"name": "myprojects/project1",
"config": {
"preferred-install" : "dist"
},
"require": {
"yiisoft/yii": "~1.1.15",
"twbs/bootstrap": "~3.2.0",
"tecnick.com/tcpdf": "~6.0@stable",
"phpoffice/phpexcel": "~1.8.0"
}
}
المحلول
نصائح عامة لتجنب النسخ
إذا حصلت على الدليل بأكمله، فيجب أن يكون ذلك إما لأنك قمت بتعيينه --prefer-source
عند التثبيت، أو لديك preferred-install
تم ضبط قيمة التكوين على source
, ، أو تقوم بتثبيت حزمة dev-master، وفي هذه الحالة يستخدم Composer التثبيت المصدر افتراضيًا (git clone).
يعتمد الحل على الموقف الدقيق، ولم تقدم تفاصيل كافية لتحديد الحل الصحيح، ولكن على الأرجح يمكنك إصلاحه باستخدام أي مما يلي:
- تعيين
--prefer-dist
عند التثبيت - يستخدم
composer config preferred-install dist
لتعيين العلم بشكل دائم - تأكد من تثبيت الإصدارات ذات العلامات فقط عن طريق المطالبة
"tecnick.com/tcpdf": "~6.0@stable"
, ، فيجب عليه دائمًا اختيار حزمة التوزيع افتراضيًا.
حالة خاصة للحزم غير المستضافة على github أو bitbucket:
https://packagist.org/packages/tecnick.com/tcpdf يتم استضافته فعليًا على sourceforge، والذي لا يدعم إنشاء ملفات مضغوطة تلقائيًا من أي مراجعة git.نظرًا لأن هذا الحزم لا يمكنه في الوقت الحالي تزويدك بملفات مضغوطة ولذلك يتعين على الملحن استنساخ الريبو.
الحل الوحيد في الوقت الحالي هو جعل المشرف ينقل الحزمة إلى جيثب، ولو كمرآة للقراءة فقط.
https://github.com/tcpdf-clone/tcpdf موجود ولكن لا أعرف إذا تم صيانته رسميًا أم لا.إذا كانت الإجابة بنعم أو إذا كانت موثوقة على الأقل، فسيكون هناك خيار لتغيير عنوان URL الخاص بحزمة tcpdf ليكون ذلك github.