আপনার কাছে / লাইব্রেরি / রবি / গেমস / ২.৩.০ ডিরেক্টরিটির লেখার অনুমতি নেই। (ম্যাক ব্যবহারকারী)


133

নীচে আমার কি করা দরকার।

চশমা চালানোর জন্য, আপনাকে আরএসপেক ইনস্টল করতে হবে। প্রথমত, gem install bundlerআপনার প্রকল্পের মূল ডিরেক্টরিতে চালান । তারপর, চালান bundle install। একটি একক বৈশিষ্ট ফাইল চালাতে, এই মত একটি কমান্ডটি প্রয়োগ করুন: bundle exec rspec spec/00_hello_spec.rb। একবারে সমস্ত চশমা চালানোর জন্য, চালান bundle exec rspec

সুতরাং, আমি gem install bundlerটার্মিনাল টাইপ করেছি এবং ত্রুটি পেয়েছি:

আপনার কাছে / লাইব্রেরি / রবি / গেমস / ২.৩.০ ডিরেক্টরিটির লেখার অনুমতি নেই।

এবং এটি ছিল পরমাণু প্রকল্পের ফাইলটিতে

source "https://rubygems.org"
gem "rspec", "~> 3.2.0"

আমার প্রশ্নটি হ'ল:

দেখে মনে হচ্ছে টার্মিনালটি আমাকে প্রতিক্রিয়া দিচ্ছে কারণ আমার রুবিতে কিছু পরিবর্তন করার কথা নয়, এবং আমাকে bundle installপরমাণুর ভিতরে প্রবেশ করা দরকার ? কেউ আমাকে কীভাবে পরমাণু ব্যবহার করতে বা পরমাণুতে কিছু চালাতে পারেন?

উত্তর:


243

আপডেট: আপনি ম্যাকের উপর রুবি রত্ন ইনস্টল করতে বিভিন্ন উপায়ে একটি খুব বিশদ ব্যাখ্যা লিখেছি। স্ক্রিপ্ট ব্যবহারের জন্য আমার মূল প্রস্তাবটি এখনও রয়ে গেছে, তবে আমার নিবন্ধটি আরও বিশদে যায়: https://www.moncefbelyamani.com/the-definitive-guide-to-installing-ruby-gems-on-a-mac/

আপনি ঠিক বলেছেন যে ম্যাকোস আপনাকে আপনার ম্যাকের সাথে ইনস্টল হওয়া রুবি সংস্করণে কোনও পরিবর্তন করতে দেবে না। তবে, bundlerরুবির পৃথক সংস্করণ ব্যবহারের মতো রত্ন ইনস্টল করা সম্ভব যা অ্যাপল সরবরাহকারীর সাথে হস্তক্ষেপ করবে না।

sudoরত্নগুলি ইনস্টল করতে ব্যবহার করা বা সিস্টেম ফাইল এবং ডিরেক্টরিগুলির অনুমতি পরিবর্তন করা দৃ strongly়ভাবে নিরুৎসাহিত করা হয়, এমনকি আপনি কী করছেন তা জানেন। আমরা কি এই খারাপ পরামর্শ দেওয়া বন্ধ করতে পারি?

সমাধান দুটি প্রধান পদক্ষেপ জড়িত:

  1. রুবির একটি পৃথক সংস্করণ ইনস্টল করুন যা আপনার ম্যাকের সাথে এসেছিল তাতে বাধা নেই।
  2. আপনার আপডেট করুন PATHযাতে নতুন রুবি সংস্করণটির অবস্থানটি প্রথমে PATH। ডিরেক্টরিগুলির তালিকা, এবং এক্সিকিউটেবল প্রোগ্রামগুলি অনুসন্ধান করার জন্য কম্পিউটার তাদের ক্রম অনুসারে তাকে বলা হয় PATH। আপনি যদি echo $PATHটার্মিনাল টাইপ করেন, আপনি ডিরেক্টরিগুলির তালিকা দেখতে পাবেন, কোলন দ্বারা পৃথক করা।

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

আপনি যে অন্যান্য রুটে নিতে পারেন তা হ'ল ম্যানুয়ালি করে সবকিছু করার জন্য এবং সর্বোত্তম আশা করার জন্য অতিরিক্ত সময় ব্যয় করা। প্রথমে আপনি হোমব্রিউ ইনস্টল করতে চাইবেন যা অন্যান্য সরঞ্জাম এবং ম্যাকোস অ্যাপ্লিকেশন ইনস্টল করা সহজ করে।

তারপরে, রুবির পৃথক সংস্করণ ইনস্টল করার 4 টি জনপ্রিয় উপায় হ'ল:

আপনার যদি একই সময়ে রুবির একাধিক সংস্করণের প্রয়োজন না হয় (ম্যাকোস নিয়ে আসা সংস্করণ ছাড়াও)

  • Homebrew - একবার এটি ইনস্টল সঙ্গে রুবি ইনস্টল brew install rubyকরুন, তারপর আপনার আপডেট PATHচালিয়ে echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile, দ্বারা অনুসরণsource ~/.bash_profile

আপনি যদি অনেক রুবি সংস্করণের মধ্যে সহজেই স্যুইচ করার নমনীয়তাটি চান

  • ক্রুবি এবং রুবি-ইনস্টল - আমার ব্যক্তিগত প্রস্তাবনাগুলি এবং সেগুলি যা পূর্বোক্ত স্ক্রিপ্ট দ্বারা স্বয়ংক্রিয়ভাবে ইনস্টল করা আছে। এগুলি হোমব্রিউ দিয়ে ইনস্টল করা যেতে পারে।

  • rbenv - Homebrew দিয়ে ইনস্টল করা যেতে পারে

  • আরভিএম

আপনি এখন রুবির নন-সিস্টেম সংস্করণ ব্যবহার করছেন তা পরীক্ষা করতে, আপনি নিম্নলিখিত কমান্ডগুলি চালনা করতে পারেন:

which ruby

এটি ছাড়া অন্য কিছু হওয়া উচিত /usr/bin/ruby

ruby -v

এটি 2.3.7 ব্যতীত অন্য কিছু হওয়া উচিত। আজ অবধি ২.6.১ হ'ল সর্বশেষতম রুবি সংস্করণ।

একবার আপনি রুবির নতুন সংস্করণ ইনস্টল হয়ে গেলে আপনি এখন বান্ডিলার ইনস্টল করতে পারেন:

gem install bundler

4
আপনি যদি আমার মতো হন এবং আপনি zsh (বা বাশ ছাড়া অন্য কোনও শেল) ব্যবহার করেন তবে একটি অতিরিক্ত পদক্ষেপ আছে! ইনস্টল করার পরে rbenvআপনাকে করতে হবে echo 'eval "$(rbenv init -)"' >> ~/.bash_profileউত্স
মার্লো

4
আপনি যদি / usr / স্থানীয় ডিরেক্টরিতে অনুমতি ত্রুটির মুখোমুখি হন তবে চালান sudo chown -R $(whoami) $(brew --prefix)/*। আরও তথ্যের জন্য এই থ্রেডটি দেখুন
আনাস টিউর

4
এটি খুব সহায়ক ... এটি সঠিক উত্তর হিসাবে সেট করা উচিত।
স্পেন্সার মুলার ডিনিজ

4
ম্যাকোস যেহেতু লোকদের জেডএসে স্যুইচ করতে উত্সাহিত করছে, আপনারও সেই পরিবর্তনটি ~ / .bash_profile এ ~ / .zshrc এ প্রয়োগ করতে হবে।
আদম_জি

4
@ স্টেভেক সম্ভবত আপনি rbenv ইনস্টলেশন নির্দেশের কিছু পদক্ষেপ মিস করেছেন? অথবা সম্ভবত আপনি আপনার টার্মিনালটি ছেড়ে দিয়ে পুনরায় চালু করেন নি? আমি এখানে rbenv নির্দেশাবলী অনুসরণ করতে হবে: github.com/rbenv/rbenv#installation । আপনি যদি এর chrubyপরিবর্তে ব্যবহারের জন্য উন্মুক্ত হন তবে আমি এমন একটি স্ক্রিপ্ট ব্যবহার করার পরামর্শ দিচ্ছি যা আপনার জন্য সবকিছু সেট করে রাখে, যেমন: github.com/monfresh/install-ruby-on-macos । এই স্ক্রিপ্টটি চালানোর আগে আপনাকে প্রথমে আরবেনভ
monfresh

70

আপনি যদি চালাতে না চান sudoতবে হোমবিউ ব্যবহার করে রুবি ইনস্টল করুন

brew install ruby
export GEM_HOME="$HOME/.gem"
gem install rails

আপনি নিজের বা আপনি zsh ব্যবহার করতে চাইলে যোগ export GEM_HOME="$HOME/.gem"করতে পারেন~/.bash_profile.zshrc


4
ক্যাটালিনা ওএস-এ সহায়তা করেনি
লেভিটান

আমার উত্তর আপডেট করেছে
STIKO

Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command
ইফরাত লেভিতান

মনে হচ্ছে আপনি কোনও railsকমান্ড চালানোর চেষ্টা করছেন । শেষ দুটি কমান্ড আমার railsকমান্ড চালায় না । আপনার প্রকল্পের বাইরে একটি নতুন টার্মিনাল খোলার চেষ্টা করুন তারপরে আমার উত্তরটির শেষ দুটি লাইন এক এক করে অনুলিপি করুন।
STIKO

source ~/. zshrc(বা ~/.bash_profile)
গর্ডিনমিটি

66

--user-installনিম্নলিখিত কমান্ডটি প্যারামিটারটি ব্যবহার করে আমার জন্য কাজ করেছেন :

gem install name_of_gem --user-install

তারপরে তিনি এটি আনতে এবং ইনস্টল করতে শুরু করলেন।

সম্পাদনা করুন

একটি রত্ন ছিল যা আমি এখনও ইনস্টল করতে পারি নি (এটি রুবি ডেভলপমেন্ট কিট বা অন্য কোনও কিছুর রুবিএইচ শিরোনামগুলির প্রয়োজন ছিল), তারপরে আমি বিভিন্ন সংস্করণ পরিচালকদের চেষ্টা করেছিলাম, তবে কোনওভাবে এখনও এটি সত্যিকার অর্থে কাজ করেনি যেমন এটি ডকুমেন্টেশনে বর্ণিত হয়েছিল কীভাবে কেবল ইনস্টল এবং স্যুইচ করতে (এটি কেবল সংস্করণগুলিতে স্যুইচ করেনি)। তারপরে আমি সমস্ত ইনস্টল করা সংস্করণ পরিচালককে সরিয়ে নিয়ে পরে brew install rubyসর্বশেষতম সংস্করণ দিয়ে ইনস্টল করে দিয়েছিলাম এবং PATH ভেরিয়েবলটিও সেট করেছিলাম। (এটি ব্রিউ থেকে রুবি স্থাপনের পরে উল্লেখ করা হবে), যা কাজ করেছিল।


6

সাধারণভাবে মত একটি সংস্করণ ম্যানেজার ব্যবহার করতে সুপারিশ করা হচ্ছে rbenvবা rvm। অন্যথায়, ইনস্টল করা রত্নগুলি rootঅন্যান্য ব্যবহারকারীর মতো উপলব্ধ ।

আপনি যদি জানেন যে আপনি কী করছেন, আপনি ব্যবহার করতে পারেন sudo gem install


6

ম্যাকস ক্যাটালিনা ইনস্টল করার পরেও আমি একই সমস্যার মুখোমুখি হয়েছি। আমি কমান্ড এবং এর কার্যকারিতা নীচে চেষ্টা করেছি।

sudo gem update

3

এই চালান

$ rbenv init
# Load rbenv automatically by appending
# the following to ~/.zshrc:

eval "$(rbenv init -)"

নির্দেশাবলী অনুসরণ করুন (আমার ক্ষেত্রে ~ / .zshrc এ যুক্ত করুন );)


এছাড়াও গুরুত্বপূর্ণ: পরিবর্তনগুলি কেবল তখন কার্যকর হয় যদি আপনি আপনার কনসোলটি পুনরায় চালু করেন। দুটি বিকল্প

  • প্রবেশ করুন source <modified file>
  • বন্ধ এবং আবার খুলুন

আমি মধ্যে Catalina (যা zsh থেকে ব্যাশ থেকে পরিবর্তন) আপগ্রেড এবং আমি থেকে সবকিছু কপি করতে ভুলে গেছি .bash_profileতার বেশি বয়সের জন্য.zshrc
wetjosh

2

আপনি যদি রুবি আলাদাভাবে ইনস্টল করেন এবং rbenv / rvm ব্যবহার করে রুবি ইনস্টল করেন আপনি বুডার বিভিন্ন সংস্করণে নির্দেশ করতে পারেন।

চেষ্টা করুন

gem env home

এবং

ruby -v

উভয়ের একই সংস্করণে নির্দেশ করা উচিত he আপনি rbenv / rvm ব্যবহার করে রুবি ইনস্টল করেছেন ck

রত্নকে কাজ করার জন্য আপনাকে অবশ্যই rbenv,

rbenv shell <ruby version> 

এবং

rbenv global <ruby version>

আরভিএম কীভাবে কাজ করে তা আমি নিশ্চিত নই। যদি এটি কাজ করে তবে আমাকে জানান।


শেল এবং গ্লোবাল সেট করা অনুপস্থিত ছিল। কেন এটি rbenv নির্দেশনাগুলিতে নয় fe
ফিটলা

নিশ্চিত নয়, কেন এটি মিস হয়েছিল, আমি চেষ্টা করেও তা জানতে পেরেছিলাম।
ভরতন কুমারান

0

ম্যাকের জন্য সমাধান

  1. সর্বশেষ রুবি সংস্করণ সহ আরভিএম ইনস্টল / আপডেট করুন

    \curl -sSL https://get.rvm.io | bash -s stable

  2. বান্ডলার ইনস্টল করুন

    gem install bundler


এই দুটি কমান্ড (sudo) gem install ....কাজ শুরু করার পরে


এছাড়াও নির্দিষ্ট করার প্রয়োজন হতে পারেrvm use <version>
ObjectNameDisplay

-1

এটি ম্যাকের জন্য আমার পক্ষে কাজ করেছিল

সুডো ক্লাউন -আর who (হোয়ামি) $ (ব্রিউ - প্রিফিক্স) / *


-1

আমি মোজাভে সাথে ব্যবহার করছি rbenv, এই সমাধানটি আমার পক্ষে কাজ করে:

$ vi ~/.bash_profile

এই লাইনটি ফাইলটিতে যুক্ত করুন:

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

-2

আমার যে সমস্যাগুলি ছিল: - আপনার কাছে / লাইব্রেরি / রুবি / জিমেস / ২..6.০ ডিরেক্টরি লেখার অনুমতি নেই।

সমাধান আমার জন্য কাজ করেছে: sudo রত্ন ইনস্টল রেল -v 6.0.0



-3

ম্যাক ব্যবহারকারীদের জন্য সুডো প্রাক্তন সুডো রত্ন ইনস্টল করুন কোকোপড ব্যবহার করুন


যদিও এই আদেশটি প্রশ্নটির সমাধান করতে পারে, কীভাবে এবং কেন এটি সমস্যার সমাধান করে তার ব্যাখ্যা সহ আপনার পোস্টের মান উন্নত করতে সত্যই সহায়তা করবে এবং সম্ভবত আরও বেশি ভোটের ফলাফল হবে। মনে রাখবেন যে আপনি ভবিষ্যতে পাঠকদের জন্য প্রশ্নের উত্তর দিচ্ছেন, কেবল এখন যে ব্যক্তি জিজ্ঞাসা করছেন তা নয়। দয়া করে সম্পাদনা ব্যাখ্যা যোগ করতে পারেন এবং সীমাবদ্ধতা এবং অনুমানের কি প্রয়োগ একটি ইঙ্গিত দিতে আপনার উত্তর।
ব্রায়ান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.