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_HOME
와 GEM_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