كيف أقوم بتثبيت XML :: libxml لـ ActivePerl؟
-
21-09-2019 - |
سؤال
أنا جديد على بيرل وأنا أستخدمه ActivePerl. اتلقى الخطأ التالي:
لا يمكن تحديد موقع xml/libxml.pm في inc ...
لقد جربت كل شيء ولكن لا يمكنني العثور على الخطوات لتثبيت الوحدة النمطية "الصحيحة" لـ XML :: libxml.
هنا بالضبط ما يجري. أقوم بتشغيل برنامج نصي من موجه الأوامر:
C: temp> perl myscript.pl
الأسطر القليلة الأولى من myscript.pl:
#!/usr/bin/perl
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
use HTTP::Date;
use XML::Parser;
use LWP::UserAgent;
use XML::LibXML;
use Archive::Extract;
use Encode;
use LWP::Simple;
require HTTP::Request;
...
ثم أحصل على هذا الخطأ:
C: temp> perl myscript.pl لا يمكن تحديد موقع xml/libxml.pm في inc (inc يحتوي على: c:/perl/site/lib c:/perl/lib.) على myscript.pl line 7. ابدأ فاشلة-تم إحباط الإجهاض في خط myscript.pl 7
المحلول
يجب أن تكون قادرًا على تثبيته باستخدام مدير حزمة Activeperl Perl. يجب أن يكون هناك اختصار قائمة ابدأ عند تثبيت ActivePerl ، ابدأ واجهة المستخدم الرسومية والبحث عن XML-Libxml و Libxml-Perl.
--تعديل
فيما يلي منشور حول إضافة مستودع بديل إلى PPM وتثبيت XML-Libxml
نصائح أخرى
لا يبدو أن Activestate يوفر جزءًا في المليون مع XML :: libxml. نظرت في ReadMe للوحدة النمطية على CPAN ويبدو أن حزمة PPM PPM PPM هنا.
لقد مررت مؤخرًا بآلام الحصول على XML :: libxml. هذا ما وجدته:
- نحن نستخدم ActiveState Activeperl 5.8.8
- من أجل الحصول على PPM ActivePerl من خلال الوكيل الخاص بنا ، كان عليه إنشاء متغير بيئي "http_proxy" مع القيمة "http: //proxy.ext.
- لم تكن جميع الحزم المطلوبة موجودة في مستودع ActiveState. وأضاف مستودع بيرل من جامعة وينيبيغ http://theoryx5.uwinnipeg.ca/ppms/package.xml (لاحظ أن المستودع الدقيق المستخدم يعتمد على نسختك من ActivePerl)
- قم بتثبيت DLLs التالية يدويًا في C: perl bin (لأي سبب من الأسباب ، كنت أواجه بعض المتاعب في بناء هذه dlls ، لذلك انتهى بي الأمر ببساطة الاستيلاء عليها من المستودع في http://trouchelle.com/ppm/dll/ )
- Iconv.dll
- libxml2.dll
- zlib1.dll
- على الأقل بالنسبة لإصدار XML-LIBXML الذي نستخدمه ، لا يعمل مثبت الحزمة بشكل صحيح للمتطلب السابق XML-LIBXML-Common. أنت يجب قم بتثبيت الحزمة XML-Libxml-Common بمفرده ، قبل تثبيت بقية XML-LIBXML.
على الرغم من أنها قد لا تكون أحدث الإصدارات ، إلا أن إصدارات الحزم (بما في ذلك المتطلبات الأساسية) التي أستخدمها حاليًا هي:
- XML-Libxml-Common (VER 0.13)
- XML-LIBXML (VER 1.64)
- XML-NAMESPacesupport (VER 1.10)
- XML-Sax (VER 0.96)
الإجابة المقبولة لم تنجح بالنسبة لي في 5.16. من عند هذا السؤال:
XML :: libxml لم يكن جاهزًا لـ Perl 5.16. ثَبَّتَ 5.14
تحميل:
في النهاية ، وجدت مستودع ActivePerl البديل الوحيد في الوجود ، بقدر ما أستطيع أن أقول ، وكان لديه حزمة لـ XML :: libxml 2.0121 والتي سيتم تثبيتها على إصدارات Perl حتى 5.20.x.
يمكنك الحصول على إصدارات ActivePerl من هنا تتضمن 5.20.2: Downloads.Activestate.com/activeperl/releases/
يسمى المستودع البديل الرشاوى دي بيرل في pribes.org/perl/
عنوان URL للمستودع الذي يتم إدخاله في الخيارات http://bribes.org/perl/ppm/