[ruby-on-rails] gem 설치 권한 문제

qichunren@zhaobak:~> gem install hpricot
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8 directory.

현재 로그인 사용자는 qichunren이고 qichunre 사용자는 .gem dir에 대한 쓰기 권한이 있습니다. gem이 먼저 내 집 .gem dir에 파일을 설치하지 않는 이유를 알고 싶습니다. 내 gem common이 먼저 파일을 /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8에 설치하려는 이유



답변

시스템 전체 Ruby 설치의 경우 루트가됩니다. 예를 들면 :

$ sudo gem install hpricot

그러나 개발을 포함한 많은 상황에서 현대적인 접근 방식은 Ruby를 일반 사용자로 쉽게 설치하고 사용할 수있는 도구를 사용하는 것입니다. 이렇게하면 루트가되지 않아도됩니다. 그러한 도구가 몇 가지 있으며 내가 사용하는 도구는 RVM 입니다.

# install rvm into your ~
$ \curl -sSL https://get.rvm.io | bash -s stable

# install latest version of ruby into your ~
$ rvm install ruby

# installs a gem into your ~
$ gem install $SOME_GEM_NAME


답변

설정 시도 GEM_HOMEGEM_PATH~/.gem,

현재 터미널 세션의 경우 다음을 입력하십시오.

export GEM_HOME=~/.gem
export GEM_PATH=~/.gem

터미널을 열 때마다 이러한 항목을 설정하려면 위 명령을 ~/.bashrc파일에 추가 하십시오.

사용자 지정 루비 환경 설정에 대한보다 포괄적 인 솔루션 은 파일 사용을 설명하는 Site5KB의이 자습서를 참조하십시오 .gemrc.


답변

1and1 호스팅을 통해 공유 서버에서이 오류가 발생했습니다. 내 솔루션은 --user-install로그인 한 사용자를 위해 설치 하는 옵션 을 추가하는 것이 었습니다 (공유 서버 환경에서 필요한 모든 것입니다). sass 설치

gem install sass --user-install


답변

rbenv를 사용 중이고 이런 일이 발생하면 .bash_profile에 다음을 추가해야합니다.

export RBENV_ROOT="$HOME/.rbenv"

if [ -d $RBENV_ROOT ]; then
  export PATH="$RBENV_ROOT/bin:$PATH"
  eval "$(rbenv init -)"
fi


답변

루비를 다시 설치하면 문제가 해결됩니다.

brew install ruby


답변