ক্রাবির রুবি $ PATH ভেরিয়েবল নিজেই পরিবর্তিত হয় যখন বর্তমান ওয়ার্কিং ডিরেক্টরি পরিবর্তন হয়?


1

আমি এখানে পেয়েছি এমন একটি গাইড ব্যবহার করে আমি রুবি এবং রেলগুলি ইনস্টল করেছি: http://ryanbigg.com/2014/10/ubuntu-ruby-ruby-install-chruby-and-you/

উল্লেখযোগ্যভাবে, এই গাইডে রুবি-ইনস্টল এবং ক্রুবি স্ক্রিপ্টগুলি ব্যবহার করে রুবির একাধিক সংস্করণ ইনস্টল করার অনুমতি দেয়। আমি যে সিস্টেমে এটি ইনস্টল করেছি তা উবুন্টু 12.04 এলটিএস চলছে। ইনস্টলেশন সব কিছু ঠিক আছে বলে মনে হচ্ছে।

এখন আমি একটি বিস্ময়কর আচরণের সাক্ষ্য দিচ্ছি যে আমার বাড়ির বাড়ি ছেড়ে যাওয়ার সাথে সাথে রুবি ইনস্টলেশন সংক্রান্ত সমস্ত কিছু কাজ করা বন্ধ করে দেয়। কারণ হ'ল এটি সেই পথগুলি হারিয়ে ফেলে যা ক্রুবি the PATH পরিবেশ পরিবর্তনশীলকে যুক্ত করেছিল। এখানে কোনও টার্মিনাল অধিবেশনটির প্রতিলিপি চিত্রিত করা হয়েছে যে কীভাবে কোনও স্পষ্ট কারণে reason PATH পরিবর্তন হচ্ছে:

cecil@ifrit:~$ echo $PATH
/home/cecil/.gem/ruby/2.3.0/bin:/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/bin:/opt/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:~$ ls -dF .*
./             .bash_logout          .bashrc  .hg/       .lesshst        .pip/         .psql_history  .screenrc         .ssh/     .vimrc
../            .bash_profile@        .cache/  .hgignore  .local/         .procmailrc*  .ruby-version  .selected_editor  .vim/     .w3m/
.bash_history  .bash_profile.ubuntu  .gnupg/  .hgrc      .mysql_history  .profile      .sc_history    .sqlite_history   .viminfo  .wakeup*
cecil@ifrit:~$ echo $PATH
/home/cecil/.gem/ruby/2.3.0/bin:/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/bin:/opt/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:~$ cd .local
cecil@ifrit:~/.local$ echo $PATH
/home/cecil/.gem/ruby/2.3.0/bin:/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/bin:/opt/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:~/.local$ cd /var
cecil@ifrit:/var$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:/var$ ls -dF .*
./  ../
cecil@ifrit:/var$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:/var$ cd ~
cecil@ifrit:~$ echo $PATH
/home/cecil/.gem/ruby/2.3.0/bin:/opt/rubies/ruby-2.3.0/lib/ruby/gems/2.3.0/bin:/opt/rubies/ruby-2.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
cecil@ifrit:~$

যতক্ষণ আমি আমার হোমডিরের (/ বাড়ি / সিসিল বা এর মধ্যে থাকা কোনও পাথের) নীচে থাকি ততক্ষণ সবকিছু ঠিকঠাক কাজ করে এবং AT প্যাথের মধ্যে নির্বাচিত রুবি সংস্করণের উপযুক্ত পাথ অন্তর্ভুক্ত থাকে এবং রুবি কমান্ড লাইন থেকে সূক্ষ্মভাবে কাজ করে। যত তাড়াতাড়ি আমি সিস্টেমে অন্য কোনও ডিরেক্টরিতে পরিবর্তন করি, আমার $ PATH থেকে রুবি পাথগুলি সরিয়ে ফেলা হয় এবং রুবি এক্সিকিউটেবলের কোনওটিই অ্যাক্সেস করতে পারে না।

আমার $ পাথ কীভাবে এরকম পরিবর্তন ঘটবে তা আমার কোনও ধারণা নেই। আমি জানি না যে পরিবেশের ভেরিয়েবলগুলি স্বতঃস্ফূর্তভাবে পরিবর্তিত হওয়া সম্ভব করার জন্য কী ধরনের কুশ্রী হুকগুলির প্রয়োজন হবে। আমি কি বুঝতে পারি না এটি কি কিছুটা ক্রুবি? এখানে কি হচ্ছে?


আপনি কি কখনও এটি খুঁজে বের করতে পারেন?
মার্ক জের্ডে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.