Perl को स्थानीय रूप से इंस्टॉल करना

अपनी ही मशीन पर Exercism के अभ्यास हल करने के लिए Perl को स्थानीय रूप से इंस्टॉल करना सीखिए


Perl के वर्शन से जुड़ी बातें

यह ट्रैक Perl के नवीनतम स्थिर वर्शन को लक्ष्य बनाता है। Perl के पुराने वर्शन भी इस्तेमाल किए जा सकते हैं, लेकिन तब अनुकूलता के लिए दिए गए स्टब फाइलों में बदलाव करने पड़ सकते हैं। अगर आप स्टब फाइलों में बताए गए वर्शन का इस्तेमाल नहीं कर पा रहे हैं, तो use v5.XX; की जगह यह कोड लिखने की सलाह दी जाती है:

use strict;
use warnings;
use feature qw<signatures>;

अगर स्टब फाइल में use experimental qw<class>; लिखा है और आप जिस Perl वर्शन का इस्तेमाल कर रहे हैं वह इसे सपोर्ट नहीं करता, तो आप इसकी जगह use Feature::Compat::Class; लिख सकते हैं, या कोई और ऑब्जेक्ट ओरिएंटेशन सिस्टम इस्तेमाल कर सकते हैं, जैसे Moo.

Unix/Linux/Mac OSX

Perl शायद पहले से इंस्टॉल होगा, लेकिन यह ज़रूरी नहीं कि वह नवीनतम वर्शन हो। आपके पास कौन-सा वर्शन है, यह जाँचने के लिए perl -v चलाइए। अगर आप कोई नया वर्शन इस्तेमाल करना चाहते हैं, तो "अन्य विकल्प" वाला भाग देखिए।

अगर आप Fedora/Red Hat/CentOS इस्तेमाल कर रहे हैं, तो कुछ कोर मॉड्यूल Perl के साथ नहीं आते। इन्हें इंस्टॉल करने के लिए yum install perl-core कमांड चलाइए।

Windows

Strawberry Perl: Windows के लिए 100% ओपन सोर्स Perl, जो बाकी हर जगह के Perl जैसा ही है। इसमें CPAN से मॉड्यूल इस्तेमाल करना भी शामिल है, और इसके लिए बाइनरी पैकेज की ज़रूरत नहीं पड़ती।

आप इसे सीधे साइट से इंस्टॉल कर सकते हैं, या chocolatey package manager इस्तेमाल कर सकते हैं।

अन्य विकल्प

  • asdf: एक टूल वर्शन मैनेजर, जिससे Perl समेत कई भाषाएँ इंस्टॉल की जा सकती हैं। यह एक कम्युनिटी प्लगइन के रूप में उपलब्ध है।
  • perlbrew: आपकी $HOME डायरेक्टरी में कई Perl इंस्टॉलेशन संभालने का टूल। ये सब पूरी तरह एक-दूसरे से अलग Perl यूनिवर्स होते हैं।
  • plenv: आपकी होम डायरेक्टरी के अंदर Perl इंस्टॉल करता है, मॉड्यूल स्थानीय रूप से इंस्टॉल करने देता है, और आपको अपने शेल पर किसी भी Perl वर्शन पर स्विच करने देता है।
  • ActivePerl Community Edition: Windows, Linux और Mac OS X के लिए एक मुफ्त, इंस्टॉल करने के लिए तैयार Perl डिस्ट्रिब्यूशन, जो उन कम्युनिटी डेवलपरों या ओपन सोर्स प्रोजेक्टों के लिए बनाया गया है जो बिज़नेस- या मिशन-क्रिटिकल नहीं हैं।

ज़रूरी मॉड्यूल इंस्टॉल करना

अगर आप Perl का 5.40 से पुराना वर्शन इस्तेमाल कर रहे हैं, तो आपको Test2::V0 टेस्टिंग बंडल इंस्टॉल करना होगा। OOP अभ्यासों के लिए आपको Feature::Compat::Class या कोई और ऑब्जेक्ट ओरिएंटेशन सिस्टम भी इंस्टॉल करना होगा। इसे सेट करने के लिए नीचे दिए निर्देश इस्तेमाल कीजिए (या अगर आप Perl से पहले से परिचित हैं, तो बेझिझक अपना पसंदीदा मॉड्यूल इंस्टॉलर इस्तेमाल कीजिए):

local::lib

  • पक्का कर लीजिए कि exercism CLI पहले से इंस्टॉल और कॉन्फिगर हो चुका है। exercism workspace चलाने पर आपको उपयुक्त पाथ दिखना चाहिए।

  • cpm मॉड्यूल इंस्टॉलर डाउनलोड कीजिए और उससे खुद cpm, local::lib, Test2::V0 और Feature::Compat::Class को अपनी exercism/perl5 डायरेक्टरी में इंस्टॉल कीजिए:

# *nix
curl -sL --compressed https://git.io/cpm | \
  perl - install -L $(exercism workspace)/perl5 App::cpm local::lib Test2::V0 Feature::Compat::Class

# Microsoft PowerShell
(Invoke-WebRequest -UseBasicParsing 'https://git.io/cpm').Content |
  perl - install -L "$(exercism workspace)/perl5" App::cpm local::lib Test2::V0 Feature::Compat::Class
  • अपने एनवायरनमेंट को इस तरह सेट करने के लिए local::lib चलाइए कि वह exercism/perl5 में इंस्टॉल किए गए मॉड्यूल इस्तेमाल कर सके:
# *nix
eval $(perl -I$(exercism workspace)/perl5/lib/perl5 -Mlocal::lib=$(exercism workspace)/perl5)

# Microsoft PowerShell
perl -I"$(exercism workspace)/perl5/lib/perl5"
  -M"local::lib=--shelltype=powershell,$(exercism workspace)/perl5" | Invoke-Expression

ऊपर दी गई कमांड से हुए एनवायरनमेंट बदलाव बने नहीं रहेंगे, और शेल दोबारा शुरू करने पर यह कमांड फिर से चलानी पड़ेगी। अगर आप चाहते हैं कि आपका एनवायरनमेंट हर बार अपने आप सेट हो जाए, तो ऊपर दी गई कमांड को अपनी .bashrc (या *nix में उसके बराबर की फाइल) या अपनी PowerShell_profile.ps1 में जोड़ दीजिए।

local::lib का डॉक्युमेंटेशन यहाँ देखा जा सकता है।

OS पैकेज

या फिर, आपके OS का पैकेज मैनेजर Test2 Suite का पैकेज इंस्टॉल करने के लिए उपलब्ध करा सकता है। उपलब्ध विकल्पों में शामिल हैं: