Ruby on rails gem安装权限问题

Ruby on rails gem安装权限问题,ruby-on-rails,ruby,gem,Ruby On Rails,Ruby,Gem,当前登录用户是qichunren,qichunre用户具有.gem dir的写入权限。我想知道为什么gem不先将文件安装到我的home.gem dir中?为什么我的gem common首先要将文件安装到/opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8尝试将gem\u HOME和gem\u PATH设置为~/.gem 对于当前终端会话,只需键入: qichunren@zhaobak:~> gem install hpricot ERROR: Whil

当前登录用户是qichunren,qichunre用户具有.gem dir的写入权限。我想知道为什么gem不先将文件安装到我的home.gem dir中?为什么我的gem common首先要将文件安装到/opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8

尝试将
gem\u HOME
gem\u PATH
设置为
~/.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.
如果希望在打开终端时设置这些命令,请将上述命令添加到
~/.bashrc
文件中


有关设置自定义ruby环境的更全面的解决方案,请参阅,其中介绍了如何使用
.gemrc
文件。

对于系统范围的ruby安装,请成为root。例如:

export GEM_HOME=~/.gem
export GEM_PATH=~/.gem
然而,在许多情况下,包括在开发中,现代的方法是使用一个工具,让您可以像普通用户一样轻松地安装和使用Ruby。这样可以避免成为root用户。有一些这样的工具,我使用的就是


如果您正在使用rbenv,并且正在发生这种情况,则需要将以下内容添加到.bash_配置文件中:

# 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

我通过1和1主机在共享服务器上收到此错误。 我的解决方案是添加
--user install
选项,该选项仅为登录用户安装(这是共享服务器环境中所需的全部) 例子;安装sass

export RBENV_ROOT="$HOME/.rbenv"

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

重新安装ruby解决我的问题

gem install sass --user-install

不要使用sudo,因为当您使用普通用户时,您将以root用户身份安装它们,并且无权访问它们。使用RVM和宝石
rvm gem install hpricot
您可能希望删除此答案。你将保留积分,并为人们省去很多头痛。这是真正正确的答案。如果没有必要,不要使用sudo安装东西。答案中的链接似乎已经改变了。不过,这本指南的第一步也为我完成了同样的事情:@MikeSlutsky感谢你指出这一点。将来,如果您发现一个断开的链接(或一个已更改且不再相关的链接),如果您认为有合适的替代者,请随时提交“编辑”建议。@meagar I更新了@Mike Slutsky提供的链接,但注意到它是
.gemrc
配置的文档。对于RubyGem新手来说,当我理解您的解决方案是我添加的更简单的解决方案时,这是令人畏惧的。这个解决方案适合我,但是作为一个ruby新手,请确认我的更改符合您的意图。记住将GEM_路径添加到全局路径。这就是我要做的:
PATH=$HOME/.gems/bin:$HOME/bin:$PATH GEM\u HOME=$HOME/.gems GEM\u PATH=$HOME/.gems:/var/lib/gems/2.1.0:/usr/lib/ruby/gems/2.1.0导出路径GEM\u HOME GEM\u路径
,有趣的是,尽管我已经指定了
--用户安装
,我还是遇到了这个错误。
gem install sass --user-install
brew install ruby