إضافة الكمثرى حزم إلى التخريب مخزن ؟
سؤال
أنا أعمل على مشروع استخدام الكمثرى حزم.لأنك لا تعرف ما هو إصدار الكمثرى الحزمة سوف تكون مثبتة على مزود استضافة الخاص بك (وخاصة أنني تتطلب التصحيح قد تم تطبيقها على واحدة من حزم), أود أن أضع الكمثرى مصدر بلدي المشروع الحق في SVN الأخرى بحيث يمكن للمطورين على الفور التبعيات.
ولكن كل ما يتعلق الكمثرى يبدو أن المطلق الدلائل!تشغيل "الكمثرى config-إنشاء .الكمثرى.conf" لاقامة جديد الكمثرى دليل حتى فشل مع رسالة الخطأ:
الدليل الجذر يجب أن يكون مسار مطلق
لقد تحققت من الكمثرى ملفات التكوين على بعض الملقمات الأخرى و هم أيضا, يبدو أن لديها مسارات مطلقة.
كلما المطور يتحقق هذا الجهاز نفسه, أو نقوم بتصدير كل خادم ، نحن لا نعرف ماذا المسار المطلق سوف يكون.
هل هناك أي طريقة لوضع هذا ؟
المحلول
إذا كان لديك PHP 5.3.1 استخدام Pyrus، المثبت PEAR2. المنشآت pyrus تمكن يمكن نقلها في أي مكان تريد.
وتحميل pyrus -
$> wget http://pear2.php.net/pyrus.phar
وإنشاء دليل لتخزين الخاص بك حزم تثبيت pyrus:
$> mkdir mylibs
تثبيت حزم -
$> php pyrus.phar mylibs install pear/Net_URL
وتثبيت الحزمة الخاصة بك هو الآن في mylibs/php/Net/URL.php
لاحظ أن مررنا الدليل mylibs لتحديد ما الدليل لتثبيت، وكذلك اسم قناة "الكمثرى" (الافتراضي في pyrus هو pear2.php.net). للراحة، وملف pyrus.phar يمكن تنفيذه من المبادرة القطرية إذا كنت شمود + س ذلك.
ويمكنك نقل الدليل mylibs
أينما تريد. حتى ارتكابها إلى المخزون الخاص بك.
والكثير من مستندات على الكمثرى موقع .
نصائح أخرى
لم أستطع الحصول على موفر استضافة لتثبيت الكمثرى المكتبات أردت.هنا كيف جعل الكمثرى جزء من شجرة المصدر.
1.إنشاء جهاز التحكم عن بعد.الملف conf
إنشاء الخاصة بك عن بعد.conf هو مختلفة قليلا من دليل.دعونا نقول كنت ترغب في تثبيت الكمثرى في vendor/PEAR
من المشروع.يمكنك أن تفعل ذلك من هذا القبيل:
#from the root of the project
$ cd vendor ; mkdir PEAR ; cd PEAR
$ pear config-create <absolute path to project>/vendor/PEAR/ remote.conf
2.تحديث القنوات
$ pear -c remote.conf channel-update pear.php.net
3.تثبيت الكمثرى
$ pear -c remote.conf install --alldeps pear
4.تثبيت أي المكتبات الأخرى
$ pear -c remote.conf install --alldeps <libname>
فويلا...الكمثرى هي جزء من شجرة المصدر.
المصيد:
- على الرغم من المسارات في
remote.conf
مطلقة المكتبات أنفسهم سوف لا تزال تعمل.انها مجرد تحديث هذا لن يعمل من أي مكان.سوف تحتاج إلى تحديث من نفس المسار الذي تم إنشاؤه من -- في الحالة المذكورة أعلاه ،vendor/PEAR
. - بعض المكتبات لا أحب أن أكون خارج المسار ، لذلك قد تضطر إلى إضافة
vendor/PEAR
إلى طريق (لقد حصلت على رمز فقط أسأل إذا كنت بحاجة إلى.)
وأنا متأكد من مذكرة تماما إذا كان هذا يجيب عن سؤالك، ولكن يمكنك تحديد الموقع لمستودع الكمثرى على سطر الأوامر، حتى تتمكن من إنشاء مستودع المحلية، وذلك باستخدام:
pear install --force --installroot=/path/to/my/pear/ PEAR
وبعد ذلك يمكنك تثبيت حزم إضافية باستخدام:
pear install --installroot=/path/to/my/pear/ SomePackage
لاستخدام الريبو المحلية من داخل التطبيق، لديك للتأكد من أن النقاط include_path
لالريبو المحلية، بدلا من الافتراضي (تثبيت عالميا) مستودع. لذلك كنت تريد أن تبدو مثل هذا:
include_path = ".:/path/to/my/pear/usr/share/php"
ورد:
<اقتباس فقرة>والواقع، وقال انه يريد تجنب مسارات مطلقة بحيث يمكن التحقق من الحل للخروج من العديد من الأجهزة من دون الاعتماد على المسار الذي كل واحد مستودع تثبيت.
و- كارلوس ليما
اقتباس فقرة>ويبدو أنك على حق. في هذه الحالة، وأود أن المشورة التي لم تحقق مستودع الكمثرى في مستودع SVN الخاص بك، وإنما استخدام برنامج نصي نشر تركيب / تحديث مستودع في الملقم. فقط للتأكد من تثبيت إصدار معين. (أنت <م> قيام م> لها نشر الآلي، أليس كذلك؟)