qic*_*ren 83 ruby gem ruby-on-rails
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.
Run Code Online (Sandbox Code Playgroud)
当前的登录用户是qichunren,而qichunre用户有.gem dir的写权限.我想知道为什么gem不能将文件安装到我家.gem dir中?为什么我的gem常见的第一个想要将文件安装到/opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8
mea*_*gar 160
尝试设置GEM_HOME和GEM_PATH到~/.gem,
对于当前终端会话,只需键入:
export GEM_HOME=~/.gem
export GEM_PATH=~/.gem
Run Code Online (Sandbox Code Playgroud)
如果您希望在打开终端时设置这些,请将以上命令添加到您的~/.bashrc文件中.
有关设置自定义ruby环境的更全面的解决方案,请参阅Site5KB中的本教程,该教程描述了使用.gemrc文件.
yfe*_*lum 49
对于系统范围的Ruby安装,请成为root用户.例如:
$ sudo gem install hpricot
Run Code Online (Sandbox Code Playgroud)
但是,在许多情况下(包括开发中),现代方法是使用一种工具,使您可以轻松地将Ruby作为普通用户安装和使用.这样可以避免成为root用户.有一些这样的工具,我使用的是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
Run Code Online (Sandbox Code Playgroud)
我通过1and1托管在共享服务器上收到此错误。我的解决方案是添加该--user-install选项,该选项只是为您的登录用户(在共享服务器环境中所需的全部)安装该选项;安装萨斯
gem install sass --user-install
Run Code Online (Sandbox Code Playgroud)