Rails를 설치할 때 "/ usr / bin 디렉토리에 대한 쓰기 권한이 없습니다"오류를 어떻게 수정합니까?


132

OS X 10.6.3, Ruby 1.8.7 및 Rails 2.3.5를 실행하는 완전히 새로운 MacBook Pro에 Rails 3를 설치하려고하는데, 제가 직접 호스를 사용했는지 궁금합니다. 지금까지 다음 명령을 실행했습니다.

$ 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. 하지만 그렇게하면 Rails 2.3.5 실행 파일을 덮어 쓰지 않습니까? 그렇게하고 싶지 않습니다. 대신 Rails의 두 버전을 모두 유지하고 싶습니다. 어떻게하나요?


5
첫 번째 명령에서 동일한 오류가 발생했습니다.이 명령을 사용하십시오sudo gem update --system -n /usr/local/bin
nitish005

1
-n은 무엇입니까?
Scott Romack 2018

간단히 터미널을 다시 시작하면이 문제가 해결되었음을 여기에 표시 할 수 있습니다.
ashwood

답변:



479

-n매개 변수를 사용 하여 cocoapods와 같이 설치하십시오.

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

7
왜이게 필요할까요?
nenchev

28
-n / usr / local / bin을 지정하지 않으면 MacOS에서 실패합니다. 솔루션 주셔서 감사합니다
Sacky San

3
-n은 무엇을 의미합니까?
allenlinli

7
guides.rubygems.org/command-reference/#gem-install 에 따르면 -n은 바이너리가있는 디렉토리를 지정합니다. -n /usr/local/binMac 에서도 필요 했습니다. which pod실제로 / usr / local / bin이었던 -n 옵션을 사용하기 전에 기존 위치를 확인하기 위해 달렸습니다
mwu

3
나는 RVM이 훌륭하다고 확신하지만 이것은 나를 토끼 구멍으로 보내지 않고 즉각적인 문제를 직접 해결하는 더 나은 대답입니다.
Wayne

62

-n / usr / local / bin 플래그를 사용하면 작동하지만 패키지를 다시 업데이트하고 싶을 때마다이 페이지로 돌아와야했습니다. 그래서 저는 이것에 대한 영구적 인 해결책을 찾았습니다.

이것을 영구적으로 고치는 데 관심이있는 분들을 위해 :

~ / .gemrc 파일 만들기

vim .gemrc

다음 내용으로 :

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

이제 -n 플래그없이 정상적으로 명령을 실행할 수 있습니다.

즐겨!


vim .gemrc이 cmd를 작성하는 방법
CHANDNI

이것이 Window $에서 작동하는지 확실하지 않지만 메모장을 사용할 수 있다고 생각합니다.
Francois Nadeau

감사합니다. 여러분처럼 업데이트를해야 할 때마다이 접미사를 찾는 것에 지쳤습니다!
Paul-Etienne

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

이것은 나를 위해 작동합니다.


나는이 문제가 있었고이 대답은 나를 위해 일했습니다! 나는 cocoapods내가 필요로하는 의존성으로 대체 했습니다
chris

33

당신이 사용할 수있는 sudo gem install -n /usr/local/bin cocoapods

이것은 나를 위해 작동합니다.


6

특정 오류를 수정하려면 해당 명령을 sudo로 실행해야합니다. 예 :

sudo gem install rails --pre

1
아니. rvm 또는 rbenv를 사용하십시오 ... sudo가 아닙니다.
doublejosh

5

이 오류는 RVM을 올바르게 설치 한 후 나에게 부딪 혔습니다. 해결 방법 : 터미널을 재부팅하십시오.

RailsCast의 RVM 설치 튜토리얼을 참조 하십시오 .


정확히 7 년 후는 아니지만 Windows bash 하위 시스템에서 작업하는 경우에도 작동합니다. bash를 종료하고 다시 시작하십시오. 감사합니다.
Pedro Madrid

0

저에게는 다른 것이 효과가 있었고 비슷한 질문 에서이 답변 을 찾았습니다 . 아마도 OP를 돕지 않을 것이지만, 비슷한 문제가있는 나 같은 사람 일 것입니다.

실제로 rvm을 사용해야 하지만 rvm없이이 작업을 수행하는 방법을 아무도 설명 하지 않았으므로 여기에 있습니다.

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에서 이것은 내 문제를 해결했습니다.

sudo gem update --system -n /usr/local/bin/gem
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.