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. 当前login的用户是qichunren,而qichunre用户有.gem dir的写入权限。我想知道为什么gem没有将文件安装到我的.gem目录中。 为什么我的gem通用首先要将文件安装到/opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8
对于全系统的Ruby安装,成为root用户。 例如:
 $ 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 , 
对于当前的terminal会话,只需键入:
 export GEM_HOME=~/.gem export GEM_PATH=~/.gem 
 如果您希望在打开terminal时设置这些命令,请将上述命令添加到~/.bashrc文件中。 
 有关设置自定义ruby环境的更全面的解决scheme,请参阅Site5KB中的本教程 , 该教程使用.gemrc文件进行描述。 
如果您正在使用rbenv,而且正在发生这种情况,则需要将以下内容添加到.bash_profile中:
 export RBENV_ROOT="$HOME/.rbenv" if [ -d $RBENV_ROOT ]; then export PATH="$RBENV_ROOT/bin:$PATH" eval "$(rbenv init -)" fi 
 我通过1and1托pipe在我的共享服务器上发生了这个错误。 我的解决scheme是添加--user-install选项,它只是安装它为您的login用户(这是共享服务器环境中的所有需要)的例子; 安装sass 
 gem install sass --user-install