سؤال

أنا أعمل على مشروع استخدام الكمثرى حزم.لأنك لا تعرف ما هو إصدار الكمثرى الحزمة سوف تكون مثبتة على مزود استضافة الخاص بك (وخاصة أنني تتطلب التصحيح قد تم تطبيقها على واحدة من حزم), أود أن أضع الكمثرى مصدر بلدي المشروع الحق في 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 الخاص بك، وإنما استخدام برنامج نصي نشر تركيب / تحديث مستودع في الملقم. فقط للتأكد من تثبيت إصدار معين. (أنت <م> قيام لها نشر الآلي، أليس كذلك؟)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top