سؤال

أنا جديد على بيرل وأنا أستخدمه 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. هذا ما وجدته:

  1. نحن نستخدم ActiveState Activeperl 5.8.8
  2. من أجل الحصول على PPM ActivePerl من خلال الوكيل الخاص بنا ، كان عليه إنشاء متغير بيئي "http_proxy" مع القيمة "http: //proxy.ext.
  3. لم تكن جميع الحزم المطلوبة موجودة في مستودع ActiveState. وأضاف مستودع بيرل من جامعة وينيبيغ http://theoryx5.uwinnipeg.ca/ppms/package.xml (لاحظ أن المستودع الدقيق المستخدم يعتمد على نسختك من ActivePerl)
  4. قم بتثبيت DLLs التالية يدويًا في C: perl bin (لأي سبب من الأسباب ، كنت أواجه بعض المتاعب في بناء هذه dlls ، لذلك انتهى بي الأمر ببساطة الاستيلاء عليها من المستودع في http://trouchelle.com/ppm/dll/ )
    • Iconv.dll
    • libxml2.dll
    • zlib1.dll
  5. على الأقل بالنسبة لإصدار 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/

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