JoJ*_*JoS 16 ruby permission-denied bundler
我在我的新服务器上安装了bundler gem,当我尝试执行时bundle install,它失败并出现此错误:
Unfortunately, a fatal error has occurred. Please see the Bundler troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!
/usr/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir': Permission denied - /var/lib/gems (Errno::EACCES)
Run Code Online (Sandbox Code Playgroud)
我的服务器是Debian wheezy(7.1),安装了默认的ruby 1.9.3软件包.我这样配置/etc/gemrc :gem: --user-install允许用户在本地安装gem.
bundler gem安装在我的用户的gems目录中,~/.gem就像我想要的命令:( gem install bundler没有sudo).但捆绑者希望安装宝石/var/lib/gems而不是我的宝石目录:(
我不明白Bundler有什么问题...为什么它不尝试在我想要的地方安装gem(在我的gems local dir中)?
ps:在我的笔记本电脑中,安装了archlinux和默认的ruby 2.0.0软件包,我没有使用bundler来安装用户的宝石.
JoJ*_*JoS 24
我发现 !
我已经像这样更新了我的rubygem gem update --system.但由于gem: --user-install我的限制,只有我的本地宝石更新了/etc/.gemrc.当捆绑器工作时,它使用全局rubygem而不是我的.
为了解决这个问题,我用以下内容更新了全局rubygems : sudo gem update --system --no-user-install.
一切正常!
根据bundler文档,可以设置a $BUNDLE_PATH或$GEM_HOMEenv变量使其成为默认的可写入位置.
export BUNDLE_PATH=~/.gems
bundle install
Run Code Online (Sandbox Code Playgroud)
如果您{没有/不想使用} root访问权限,这非常方便.