任何使用sudo的命令似乎都不适用于RBenv.
我正在尝试安装ActiveRecord,它说我没有写权限,所以当我尝试这个时:
ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /usr/local/rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1 directory.
它说:
sudo: gem: command not found
我怎么能绕过这个?
解决方法
像rbenv和RVM这样的工具背后的想法是你不需要使用sudo,因为你的整个Ruby环境都存在于你自己的工作区中作为沙箱.
就我所见过或读过而言,rbenv仅为单用户.在使用rbenv时,您在任何时候都不需要使用sudo来操作或更改Ruby环境.如果你这样做,那就错了.如果你试图使用sudo,那你就搞砸了.您可能无法立即找到,但最终会弹出一些内容,您需要将文件的所有权更改回给您.
在Linux和Mac OS上,您可以使用以下方法轻松完成:
sudo chown -R <your_user_name>:<your_group> ~/.rbenv
您必须将其作为sudo运行,因为只有超级用户才能更改root拥有的文件的所有权. sudo升级您的权限以允许您更改这些内容.