সিপিএএন এবং পার্ল মডিউলগুলির সাইলেন্ট এবং স্ক্রিপ্ট ইনস্টল?


9

আমাকে একটি বৈজ্ঞানিক লিনাক্স (আরএইচইএল) ইনস্টলেশন স্ক্রিপ্টে স্বয়ংক্রিয়ভাবে সিপিএএন এবং কিছু পার্ল মডিউল ইনস্টল করতে হবে। দুর্ভাগ্যক্রমে আমি যে নির্দিষ্ট মডিউলগুলি চাই (তার মধ্যে কমপক্ষে একটিও) আরপিএম: স হিসাবে পাওয়া যায়নি যতক্ষণ আমি দেখেছি।

সুতরাং আমাকে সিপিএএন ইনস্টল করতে হবে, এটি স্বয়ংক্রিয়ভাবে কনফিগার করতে হবে (বা কোনও কনফিগার ফাইল দিয়ে) এবং তারপরে ওয়ান্টেড মডিউলগুলি (নির্ভরতা সহ) স্বয়ংক্রিয়ভাবে ইনস্টল করতে হবে।

এটি খুব অস্বাভাবিক প্রয়োজনের মতো বলে মনে হচ্ছে না, তবে আমি এটিতে কোনও ভাল ডকুমেন্টেশন দেখিনি। সমস্যাটি হ'ল যখনই সিপিএএন প্রথমবার চালু হয় তখন একটি ইন্টারেক্টিভ কনফিগারেশন চলে runs এটি কি কোনওভাবে এড়ানো যায়? এবং আমি কীভাবে সরাসরি কমান্ড লাইন থেকে মডিউল ইনস্টলেশন চালু করব?

উত্তর:


5

আপনি এর জন্য সিপিএনএম দেখতে চাইতে পারেন ; এটি হালকা ওজনের, শেল স্ক্রিপ্টযোগ্য এবং ক্লাসিক সিপিএএন এর চেয়ে অনেক সহজ।


1
অতিমাত্রায় সঠিক উত্তর। সিপিএনএম ব্যবহার করুন। আপনি যদি পার্লব্রু ব্যবহার perlbrew install-cpanmকরছেন তবে ব্যবহার করুন এবং আপনার কাজ শেষ।
ক্রেগ রিঞ্জার

Serverfault.com/q/815649/102814 এ একটি নতুন প্রশ্ন এবং উত্তর পোস্ট করেছেন কারণ এটি যে তুলনামূলকভাবে অন্বেষণযোগ্য তা দেখে আমি বিরক্ত হয়েছি এবং এই ভ্রান্তি কোথাও আসে নি।
ক্রেগ রিঞ্জার

23

সিপিএএন চালানোর আগে এই পরিবেশটি পরিবর্তনশীল সেট করার চেষ্টা করুন:

export PERL_MM_USE_DEFAULT=1

সিপিএএন জিজ্ঞাসা করলে এটি পার্ল স্বয়ংক্রিয়ভাবে "হ্যাঁ" উত্তর দেয় "আপনি কি স্বয়ংক্রিয়ভাবে যথাসম্ভব কনফিগার করতে চান? [হ্যাঁ]"

সূত্র


এই উত্তর গৃহীত উত্তরের চেয়ে অনেক ভাল।
কাপাড

6

"এবং আমি কীভাবে সরাসরি কমান্ড লাইন থেকে মডিউল ইনস্টলেশন চালু করব?"

এটি করা উচিত:

perl -MCPAN -e 'install Your::Package'

5

যদি এটি পুনরাবৃত্তিযোগ্য কাজ হয় তবে এটি সিপান 2 আরপিএম সহ কয়েক ঘন্টা ব্যয় করতে এবং এটিকে আরপিএম-এ পরিণত করতে পারে। আমার অভিজ্ঞতায়, সিপিএএন রান (এমনকি ইন্টারেক্টিভ) অপ্রত্যাশিত ইভেন্টগুলি (সংস্করণ কিরকস, নেটওয়ার্ক সমস্যা, বগাস পরীক্ষা ব্যর্থতা) দ্বারা আধা (স্বয়ংক্রিয় ইনস্টল) এর উপর নির্ভর করা যায় না।


3

এটি যাদু করা উচিত:

get_cpanm(){
    if [ \! -f /usr/local/bin/cpanm ]; then
            cd $TMP_DIR && curl --insecure -L http://cpanmin.us | perl - App::cpanminus
            if [ \! -f /usr/local/bin/cpanm ]; then
                    echo "Downloading from cpanmin.us failed, downloading from xrl.us"
                    curl -LO http://xrl.us/cpanm &&
            chmod +x cpanm &&
            mv cpanm /usr/local/bin/cpanm
            fi
    fi
    CPANM=$(which cpanm);
    if [ \! -f "$CPANM" ]; then
            echo "ERROR: Unable to find cpanm"
            return 1;
    fi
    return 0
}
cpanm Time::HiRes CGI Moose Config::JSON other::cpanmodules
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.