Rails'i kurarken "/ usr / bin dizinine yazma izniniz yok" hatasını nasıl düzeltirim?


134

Rails 3'ü OS X 10.6.3, Ruby 1.8.7 ve Rails 2.3.5 çalıştıran yepyeni bir MacBook Pro'ya kurmaya çalışıyorum ve kendime ıslatıp ıslatmadığımı merak ediyorum. Şimdiye kadar şu komutları çalıştırdım:

$ 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

Ancak son komutu çalıştırdığımda şu hatayı alıyorum:

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

Sanırım sudoüzerine yazabilmesi için komutu birlikte çalıştırmamı istiyor /usr/bin/rails. Ancak bunu yaparsam, Rails 2.3.5 çalıştırılabilir dosyasının üzerine yazmayacak mıyım? Ben bunu yapmak istemiyorum. Bunun yerine, Rails'in her iki sürümünü de saklamak istiyorum. Bunu nasıl yaparım?


5
İlk komutta aynı hatayı alıyordum, bu komutu kullanınsudo gem update --system -n /usr/local/bin
nitish005

1
-N nedir?
Scott Romack

Sadece terminali yeniden başlatmanın bunu benim için çözdüğünü burada ortaya koyacağım.
ashwood

Yanıtlar:


14

RVM'yi kullanmanızı öneririm , mücevher profilleri ile yüklü Ruby / Rails'in birden fazla sürümüne sahip olmanıza ve temelde tüm mücevherlerinizi birbirinden saklamanıza izin verir. Benzer bir gönderiye göz atmak isteyebilirsiniz. Ruby on Rails 3'ü OSX'e nasıl kurabilirim?


sadece bunu yapmak benim için aynı hata mesajıyla benzer bir sorunu çözdü
Rich Stone

482

kullanmak -ncocoapods için nasıl yüklemek için parametre:

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

7
Buna neden ihtiyacımız olsun ki?
nenchev

28
-N / usr / local / bin belirtmediğiniz sürece MacOS'ta başarısız olur. Çözüm için teşekkürler
Sacky San

3
-N ne anlama geliyor?
allenlinli

7
guides.rubygems.org/command-reference/#gem-install'a göre , -n ikili dosyaların bulunduğu dizini belirtir. Mac'ime de ihtiyacım vardı -n /usr/local/bin. which podAslında / usr / local / bin olan -n seçeneğini kullanmadan önce mevcut konumunu belirlemek için koştum
mwu

3
Eminim RVM harikadır, ancak bu, beni bir tavşan deliğine göndermeden doğrudan sorunu çözen daha iyi bir cevaptır.
Wayne

62

Kullanılması -n / usr / local / bin bayrak çalışır, ANCAK ben bu sayfaya tekrar tekrar bir paket güncellemek istedim her zaman gelmek zorunda. Ben de bunun için kalıcı bir düzeltme buldum.

Bunu kalıcı olarak düzeltmek isteyenler için :

Bir ~ / .gemrc dosyası oluşturun

vim .gemrc

Aşağıdaki içerikle:

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

Artık komutunuzu -n bayrağı olmadan normal şekilde çalıştırabilirsiniz.

Zevk almak!


vim .gemrcbu cmd nasıl yazılır
Chandni

Bunun Windows $ 'da çalışacağından emin değilim, ancak Not Defteri'ni kullanabileceğinizi tahmin ediyorum.
Francois Nadeau

Teşekkürler, tıpkı senin gibi, her güncelleme yapmam gerektiğinde bu son eki aramaktan bıktım!
Paul-Etienne

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

Bu benim için çalışıyor.


Bu sorunu yaşadım ve bu cevap benim için çalıştı! cocoapodsİhtiyacım olan bağımlılıkla değiştirdim
chris

34

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

Bu benim için çalışıyor.


6

Belirli bir hatayı düzeltmek için bu komutu sudo olarak çalıştırmanız gerekir, yani:

sudo gem install rails --pre

1
HAYIR. Rvm veya rbenv kullanın ... sadece sudo kullanmayın.
doublejosh

5

Bu Hata, RVM'yi doğru bir şekilde kurduktan sonra bana çarptı. Çözüm: Terminali yeniden başlatın.

Referans RailsCast'in RVM Kurulum öğreticisi.


Tam olarak 7 yıl sonra değil, ancak Windows bash alt sistemi üzerinde çalışıyorsanız da bu işe yarar. Sadece bash'tan çıkın ve tekrar başlatın. Teşekkür ederim.
Pedro Madrid

0

Benim için, bu yanıtta benzer bir sorudan bulduğum farklı bir şey işe yaradı . Muhtemelen OP'ye yardım etmeyecektir, ama belki benim gibi birinin benzer bir sorunu vardı.

Gerçekten rvm kullanmalısınız , ancak bunu size rvm olmadan nasıl yapacağınızı kimse açıklamadığı için , işte burada:

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

-2

MacOS High Sierra'da bu sorunumu çözdü:

sudo gem update --system -n /usr/local/bin/gem
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.