रेल स्थापित करते समय मैं "आप / usr / बिन निर्देशिका में त्रुटि नहीं लिखते" कैसे ठीक करते हैं?


132

मैं एक नया मैकबुक प्रो पर स्थापित करने के लिए रेल 3 स्थापित करने की कोशिश कर रहा हूँ Pro OS X 10.6.3, रूबी 1.8.7 और रेल 2.3.5 चल रहा है और मैं सोच रहा हूं कि क्या मैंने खुद को ठीक किया है। अब तक, मैंने ये कमांड चलाए हैं:

$ gem update --system
$ gem install arel tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
$ gem install rails --pre

हालाँकि, जब मैं अंतिम कमांड चलाता हूं, मुझे यह त्रुटि मिलती है:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /usr/bin directory.

मुझे लगता है कि यह चाहता है कि मैं इसके साथ कमांड चलाऊं sudoताकि यह लिख सके /usr/bin/rails। लेकिन अगर मैं ऐसा करता हूं, तो क्या मैं अपनी रेल 2.3.3 निष्पादन योग्य नहीं लिखूंगा? मैं ऐसा नहीं करना चाहता। इसके बजाय, मैं रेल के दोनों संस्करणों को रखना चाहूंगा। मैं उसको कैसे करू?


5
मुझे पहली कमांड पर एक ही त्रुटि मिल रही थी, इस कमांड का उपयोग करेंsudo gem update --system -n /usr/local/bin
nitish005

1
-एन क्या है?
स्कॉट रोमैक

बस इसे यहाँ डाल दिया जा रहा है कि बस टर्मिनल को पुनरारंभ करने से यह मेरे लिए हल हो गया।
ashwood

जवाबों:


14

मैं आरवीएम का उपयोग करने का सुझाव देता हूं, इससे आपके पास मणि प्रोफाइल के साथ स्थापित रूबी / रेल के कई संस्करण हैं और मूल रूप से आपके सभी रत्नों को एक दूसरे से सम्‍मिलित रखते हैं। आप एक समान पोस्ट की जांच करना चाहते हैं कि मैं OSX पर रेल 3 पर रूबी कैसे स्थापित कर सकता हूं


केवल उसी त्रुटि संदेश के साथ मेरे लिए एक समान समस्या का समाधान कर रहा है
रिच स्टोन

479

-nकोकोपोड्स की तरह स्थापित करने के लिए पैरामीटर का उपयोग करें :

sudo gem install cocoapods -n /usr/local/bin

7
हमें इसकी आवश्यकता भी क्यों होगी?
nenchev 18

28
जब तक आप -n / usr / स्थानीय / बिन निर्दिष्ट नहीं करते, MacOS पर विफल रहता है। समाधान के लिए धन्यवाद
Sacky San

3
इसका क्या मतलब है?
एलनिनली

7
guide.rubygems.org/command-reference/#gem-install के अनुसार , -n उस निर्देशिका को निर्दिष्ट करता है जहां बायनेरी स्थित हैं। मुझे -n /usr/local/binअपने मैक पर भी जरूरत थी । मैं एक which podमौजूदा विकल्प का उपयोग करने से पहले अपने मौजूदा स्थान का निर्धारण करने के लिए दौड़ा, जो वास्तव में / usr / स्थानीय / बिन था
mwu

3
मुझे यकीन है कि आरवीएम महान है, लेकिन यह एक बेहतर जवाब है जो सीधे मुझे खरगोश के छेद में भेजने के बिना तत्काल समस्या का समाधान करता है।
वेन

62

-N / usr / लोकल / बिन का उपयोग करना झंडा काम करता है, लेकिन मैं इस पृष्ठ पर यह हर बार जब मैं एक पैकेज फिर से अद्यतन करने के लिए चाहता था आना पड़ा। इसलिए मैंने इसके लिए एक स्थायी समाधान निकाला।

स्थायी रूप से इसे ठीक करने के इच्छुक लोगों के लिए :

एक ~ / .gemrc फ़ाइल बनाएँ

vim .gemrc

निम्नलिखित सामग्री के साथ:

:gemdir:
   - ~/.gem/ruby
install: -n /usr/local/bin

अब आप अपने आदेश को सामान्य रूप से -n ध्वज के बिना चला सकते हैं।

का आनंद लें!


vim .gemrcइस cmd को कैसे लिखें
चांदनी

मुझे यकीन नहीं है कि यह विंडो $ में काम करेगा, लेकिन मुझे लगता है कि आप नोटपैड का उपयोग कर सकते हैं।
फ्रेंकोइस नादेउ

धन्यवाद, जैसे आप मुझे इस प्रत्यय की तलाश में थक गए थे हर बार मुझे एक अद्यतन करने की आवश्यकता थी!
पॉल-एटिएन

49
sudo gem install cocoapods --pre -n /usr/local/bin

यह मेरे लिए काम करता है।


मेरे पास यह मुद्दा था और इस जवाब ने मेरे लिए काम किया! मैंने cocoapodsउस निर्भरता के साथ प्रतिस्थापित किया जिसकी मुझे आवश्यकता थी
क्रिस

33

आप उपयोग कर सकते हैं sudo gem install -n /usr/local/bin cocoapods

यह मेरे लिए काम करता है।


6

अपनी विशिष्ट त्रुटि को ठीक करने के लिए आपको उस कमांड को sudo के रूप में चलाने की आवश्यकता है, अर्थात:

sudo gem install rails --pre

1
नहीं। Rvm या rbenv का उपयोग करें ... केवल sudo नहीं।
डबलजॉश

5

आरवीएम को सही तरीके से स्थापित करने के बाद इस त्रुटि ने मुझे मारा। समाधान: री-बूट टर्मिनल।

संदर्भ RailsCast की RVM ट्यूटोरियल स्थापित करें


ठीक 7 साल बाद नहीं, लेकिन यह भी काम करता है अगर आप विंडो बैश सबसिस्टम पर काम कर रहे हैं। बस बैश से बाहर निकलें और इसे फिर से लॉन्च करें। धन्यवाद।
पेड्रो मैड्रिड

0

मेरे लिए, कुछ अलग काम किया, जो मुझे इस सवाल के जवाब से मिला । संभवतः ओपी की मदद नहीं करेगा, लेकिन शायद मेरे जैसा कोई व्यक्ति जिसके पास एक समान समस्या थी।

आपको वास्तव में आरवीएम का उपयोग करना चाहिए , लेकिन जैसा कि बिना आरवीएम के कोई भी आपको यह नहीं समझाता है , यहां आप जाते हैं:

sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \
  abstract erubis activesupport mime-types mail text-hyphen text-format   \
  thor i18n rake bundler arel railties rails --prerelease --force

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.