لماذا لا يتم التعرف على الوحدة النمطية التي تم تثبيتها بواسطة cpanm`؟
سؤال
لقد قمت بتثبيت Perl-5.12.2 باستخدام perlbrew
:
perlbrew install perl-5.12.2 -D=usethreads -D=useithreads -D=uselargefiles -f
ثم انتقلت إلى هذا الإصدار وتثبيته IPC::System::Simple
استخدام cpanm
.
ومع ذلك ، عندما أحاول تشغيل البرنامج النصي الذي أحصل عليه:
Can't locate IPC/System/Simple.pm in @INC (@INC contains: /home/dave/workspace/proj1/scripts/bin/../lib /home/dave/src/bioperl-live /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2/x86_64-linux-thread-multi /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/site_perl/5.12.2 /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2/x86_64-linux-thread-multi /home/dave/perl5/perlbrew/perls/perl-5.12.2/lib/5.12.2 .) at /home/dave/workspace/proj1/scripts/bin/../lib/createLayout.pm line 14.
لقد وجدت أيضًا DIR التالي:~/perl5/lib/perl5/x86_64-linux-thread-multi/auto/IPC/System/Simple
لكنه فارغ (ليس لدي أي فكرة عما إذا كان هذا يعني شيئًا).
المحلول
ماذا فعلت which cpanm
من عرض سطر الأوامر؟ بالنسبة لك يجب أن تقارير:
/home/dave/perl5/perlbrew/bin/cpanm
إذا كان هذا على ما يرام ، فماذا يفعل ls -l /home/dave/perl5/perlbrew/bin/cpanm
تبين؟ يجب أن يشير إلى:
cpanm -> /home/dave/perl5/perlbrew/perls/current/bin/cpanm
وأخيرا ls -l /Users/barry/perl5/perlbrew/perls/current
يجب أن تشير إلى بيرل الذي تحولت إليه perlbrew
:
/home/dave/perl5/perlbrew/perls/current -> perl-5.12.2
يجب أن تكون هذه الثلاثة هكذا مثل هذا شيء خاطئ.
إذا لم يكن ذلك ، فمن المحتمل أن تكون هناك مشكلة واحدة هي ذلك cpanm
يشير إلى بيرل مثبت آخر. تحتاج أن تملك cpanm
مثبت لكل إصدار من Perl تحت perlbrew
:
perlbrew switch perl-5.12.2
curl -L http://cpanmin.us | perl - App::cpanminus
الآن إذا which cpanm
لا يزال لا يظهر perlbrew
المسار ثم لديك ملف $PATH
قضية الأسبقية في الخاص بك .bash_profile
(أو ما يعادلها) ملف. يمكن إصلاح هذا عن طريق التأكد من أن الخاص بك perlbrew
خط...
source /home/dave/perl5/perlbrew/etc/bashrc
... في ملف الملف الشخصي بعد أي شيء آخر export $PATH
خطوط.
بعد إعادة السقوط مرة أخرى ، يمكنك تأكيد أن هذا صحيح من خلال العمل echo $PATH
ويجب أن ترى perlbrew
في بداية (اليسار) لسلسلة المسار ، أي. شيء من هذا القبيل:
/home/dave/perl5/perlbrew/bin:/home/dave/perl5/perlbrew/perls/current/bin:/usr/bin:/bin:/usr/local/bin:
نصائح أخرى
محاولة هذا الدليل خطوة بخطوة, ، إيلاء اهتمام وثيق للخطوات 7 و 8 (واختياريا 9).