ruby - রুবি সংস্করণ পরিবর্তন না rbenv



(14)

Strangely, rbenv সংস্করণটি .rbenv ফাইলটি সেট করে নি। এটি পরীক্ষা করে দেখুন: ls -ltra -> একটি rbenv লেখা হয়েছে তা দেখতে

https://ffff65535.com

আমি github নির্দেশাবলী অনুযায়ী rbenv ইনস্টল। আমি ওএসএক্স চালাচ্ছি কিন্তু আমি উবুন্টু 12.04 ভিএম এ চেষ্টা করেছি এবং একই ফলাফল পেয়েছি। রুবি সংস্করণগুলি পরিবর্তন করার চেষ্টা করার সময় আমি আমার টার্মিনালে যা পেয়েছি তা নিম্নরূপ:

rbenv versions
* 1.9.3-p0 (set by /Users/user/.rbenv/version)
1.9.3-p125

rbenv global
1.9.3-p0

rbenv rehash

ruby -v
ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]

which ruby
/usr/bin/ruby

রবীন্দ্র সংস্করণ সুইচিং না কেন যে কেউ মনে হয় এটা মত মনে হয়? এছাড়াও স্থানীয় ডিরেক্টরির মধ্যে কোন .rbenv ফাইল নেই যা রুবি সংস্করণকে ডিফল্টরূপে 1.8.7 করতে পারে

rbenv local
rbenv: no local version configured for this directory

আপনার .bash_profile এর শেষ লাইনটি নিশ্চিত করুন:

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

আপনি ব্যাশ ব্যবহার করা হয়, যান

~/.bash_profile

এবং নিম্নলিখিত লাইন যোগ করুন (যদি এটি ইতিমধ্যে না থাকে)

if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

যদি আপনি Zsh ব্যবহার করছেন, যান

~/.zshrc

এবং .zshrc ফাইলের শেষে কোডের একই লাইন যোগ করুন।

তারপর কেবল আপনার টার্মিনাল পুনরায় আরম্ভ করুন এবং এটি এখন সূক্ষ্ম হতে হবে।


আমার ক্ষেত্রে পরিবর্তন ~/.zshenv কাজ করে না। আমি ~/.zshrc ভিতরে পরিবর্তন করতে হবে।

আমি শুধু যোগ করেছেন:

# Include rbenv for ZSH
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

~/.zshrc , শেলটি পুনরায় আরম্ভ করে লগ আউট করা হয়েছে।

এটি কাজ করে কিনা তা পরীক্ষা করুন:

  ~ rbenv install 2.4.0
  ~ rbenv global 2.4.0
  ~ rbenv global
2.4.0
  ~ ruby -v
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]

আমি rbenv পুনরায় ইনস্টল করার পরে এই আমার ঘটেছে। দৃশ্যত আমার কাছে আমার হোম ডিরেক্টরিতে একটি .ruby-version ফাইল ছিল, যা একটি সংস্করণ নির্দিষ্ট করে যা আর বিদ্যমান ছিল না। একবার ফাইলটি মুছে ফেললে সবকিছু কাজ করে।


আমি rbenv ইনস্টল করার আগে rvm মুছে ফেলতে ভুলে গেছি। আমি rvm মুছে ফেলা এবং পুনরায় ইনস্টল করা rbenv, কিন্তু সিস্টেমটি এখনও রুবি সংস্করণ রবিবেন দ্বারা গ্লোবাল হিসাবে মনোনীত করা হয় না। আমি টার্মিনাল বন্ধ করার চেষ্টা করেছি, কিন্তু পুরো মেশিনটি পুনরায় চালু করার পরে এটি শুধুমাত্র কাজ করে।


আমি একই সমস্যা এসেছিলেন। "Sudo" এর সাথে "rbenv global" কমান্ডটি চালুর মাধ্যমে এটি স্থির করুন। আমি এটা কিছু অনুমতি সমস্যা মনে হয়।

আপডেট: আমি অবশেষে সমাধান খুঁজে পাওয়া যায় নি। আমার ম্যাকের একই ফাইল "সংস্করণ" ছিল, যা "/usr/local/Cellar/rbenv/0.3.0/" এর অধীনে রয়েছে। আমি মাঝে মাঝে ভুল দ্বারা নির্মিত হয়েছিল মনে হয়। আপনি এটা অপসারণ করা উচিত।


আমি একই সমস্যা ছিল, কিন্তু হোমব্রু দ্বারা সৃষ্ট:

[~]$ rbenv version
2.3.0 (set by /Users/user/.rbenv/version)
[~]$ ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16]
[~]$ which ruby
/usr/local/bin/ruby

যেহেতু আমি রুবিকে হোমব্রু এর মাধ্যমেও ইনস্টল করেছি, এবং হোমব্রু পথটি আমার $PATH Rbenv পাথের চেয়ে এগিয়ে ছিল। চলমান brew uninstall ruby আমার জন্য এটি সংশোধন করা হয়েছে।


এই কমান্ড চালান

Rbenv bash এ যোগ করুন যাতে প্রতিটি সময় আপনি একটি টার্মিনাল খুললে লোড হয়

echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
source ~/.bash_profile

এই আপনার সমস্যা Reference সমাধান হবে


এটি একটি পুরানো প্রশ্ন হতে পারে, কিন্তু গুগল আমাকে এখানে নেতৃত্ব দিয়েছিল এবং, জন্মতারিখের জন্য, ভাবলাম আমি ভাগ করব।

আমার সমস্যা উপরের প্রস্তাবিত সমাধান অনেক পরে স্থির। অপারেটিং সিস্টেমের মত, আমি rbenv এবং তারপর একটি রুবি সংস্করণ ইনস্টল করেছি, কিন্তু আমার ল্যাপটপ সিস্টেমের জন্য ডিফল্ট। আমি কি পরিত্যাগ করেছি যে যখন আমি দৌড়ে:

[~/.rbenv] $ rbenv versions
* system (set by /Users/alphadogg/.rbenv/version)
  2.0.0-p247

হ্যাঁ, এটি এখনও সিস্টেম ডিফল্ট ছিল। একটি দ্রুত

[~/.rbenv] $ rbenv local 2.0.0-p247

নতুন সংস্করণ এটি সুইচ।


প্রথম পদক্ষেপটি কোন Ruby বলা হচ্ছে তা খুঁজে বের করতে হয়:
which ruby

আপনার সিস্টেম বলছে:
/usr/bin/ruby

এটি rbenv দ্বারা ব্যবহৃত শিম নয়, যা (MacOS এ) এই রকম হওয়া উচিত:
/Users/<username>/.rbenv/shims/ruby

শিম আসলে একটি স্ক্রিপ্ট যা আপনি সেট রুবি সংস্করণ একটি পুনঃনির্দেশিত মত কাজ করে।

rbenv global 1.9.3 rbenv local --unset rbenv shell --unset
আমি সুপারিশ করছি যে শ্যুটিং শ্যুটিংয়ের জন্য আপনি প্রকল্প নির্দিষ্ট "স্থানীয়" সংস্করণটি এবং সেটিকে শেল নির্দিষ্ট "শেল" সংস্করণটি অনির্বাচিত করুন এবং কেবল "বিশ্বব্যাপী" সংস্করণ সেটিংটি ব্যবহার করে পরীক্ষা করুন যা ~ / .rbenv / verion এ একটি সরল পাঠ্য ফাইলে নির্ধারিত হয়। আপনার ক্ষেত্রে শুধুমাত্র সংস্করণ নম্বর "1.9.3" হবে। আপনি সেখানে "আরবী-সংস্করণ" ফাইলটি আর নেই তা নিশ্চিত করতে আপনার প্রকল্পের ফোল্ডার (হোম ফোল্ডার নয়) এর root "ls -laG" করতে পারেন।

Rbenv কোন সংস্করণটি ব্যবহার করতে সেট করা আছে তা সনাক্ত করতে আপনি "rbenv সংস্করণগুলি" ব্যবহার করতে পারেন (এবং যে সেটিংটি সেট করে সেটির অবস্থান এবং নাম)।

rbenv versions

যে MATERERS এক না: আপনি সঠিকভাবে পথ সেট না হওয়া পর্যন্ত।

আপনার * MacOS আপনাকে মান্য করবে তা নিশ্চিত করতে এটি ব্যবহার করুন:
eval "$(rbenv init -)"

অনুসরণ করেছেন:
which ruby

এটা নিশ্চিত করার মত: /Users//.rbenv/shims/ruby

তারপরে আপনার প্রোফাইলে লাইনটি যুক্ত করুন যাতে প্রতিটি সময় আপনি একটি নতুন টার্মিনাল উইন্ডো খুললে চালানো হয়:
~/.bash_profile eval "$(rbenv init -)"

পাথটি সংশোধন করার অন্যান্য উপায় আছে, rbenv init চালানোর পরিবর্তে তাদের মধ্যে কোনও বিকল্প অব্যবহৃত করুন।

দ্রষ্টব্য: সঙ্গে রেল পুনরায় ইনস্টল করুন:
gem install rails

যদি আপনি রুবিতে রুবি চালানোর চেষ্টা করছেন, তবে আপনাকে প্রথমে এটি সব কাজ করতে হবে, তারপর আবার রেল মণ ইনস্টল করুন। পূর্ববর্তী একটি রেল ইনস্টলগুলি ভুল রুবিতে একটি হার্ড কোডেড পাথ ব্যবহার করবে এবং অন্যান্য কিছু ভুল স্থানে থাকবে, তাই শুধুমাত্র মণিটি আবার ইন্সটল করুন।

PS যদি আপনার MacOS আপনাকে অনুসরণ করবে না (* উপরে উল্লিখিত) তবে আপনার পথটি পরিবর্তন করার জন্য আপনাকে অন্য কোন উপায় খুঁজে বের করতে হবে, তবে এটি একটি সমস্যা হতে পারে না কারণ "ম্যাকগুলি কেবল কাজ করে";)


মাছ শেল ব্যবহারকারী জন্য

set --universal fish_user_paths $fish_user_paths ~/.rbenv/shims/

সঞ্চালন করুন:

rbenv init

আমি যে রান, যখন আমি আমার স্থানীয় rbenv সংস্করণ সেট:

rbenv local 2.4.0

তারপর আমার ruby -v এবং আমার rbenv local সংস্করণ coincided।

দ্রষ্টব্য: আপনি যে ডিরেক্টরিরটিতে আছেন সেটি থেকে বেরিয়ে যেতে চান এবং তারপরে আবার ফিরে যান, আমি খেয়াল করেছি যে জিনিসগুলি কাজ করার জন্য আমার জন্য প্রয়োজনীয় ছিল।


rbenv help shell

"আপনার শেলের মধ্যে 'RBENV_VERSION' পরিবেশ পরিবর্তনশীল সেট করে একটি শেল-নির্দিষ্ট রুবি সংস্করণ সেট করে। এই সংস্করণটি স্থানীয় অ্যাপ্লিকেশন-নির্দিষ্ট সংস্করণ ও বিশ্বব্যাপী সংস্করণকে ওভাররাইড করে। এটি রুবি সংস্করণটির সাথে মেলে এমন একটি স্ট্রিং হওয়া উচিত যা rbenv- এ পরিচিত। বিশেষ সংস্করণ স্ট্রিং সিস্টেম 'রুবি সংস্করণগুলির তালিকার জন্য আপনার ডিফল্ট সিস্টেম রুবি ব্যবহার করবে।' rbenv সংস্করণগুলি চালান। "

Provided রবিবার সঠিকভাবে ইনস্টল করা হয়েছে, ruby ​​-v অনুরূপ হবে

rbenv shell 1.9.3-p125





rbenv