【问题标题】:Why do I get "write permission" errors installing Rails?为什么安装 Rails 时出现“写权限”错误?
【发布时间】:2013-07-04 06:20:15
【问题描述】:

当我使用rvm use 1.9.2 时,我得到了 Rails v3.0.0:

vikas@admin1-DL-H61MXEL:~$ rvm use 1.9.2 --default
Using /home/vikas/.rvm/gems/ruby-1.9.2-p320
vikas@admin1-DL-H61MXEL:~$ rails -v
Rails 3.0.0

当我使用rvm use 2.0.0 时,我得到了 Rails v3.2.13:

vikas@admin1-DL-H61MXEL:~$ rvm use 2.0.0
Using /home/vikas/.rvm/gems/ruby-2.0.0-p195
vikas@admin1-DL-H61MXEL:~$ rails -v
Rails 3.2.13

我需要带有 Ruby 1.9.2 的 Rails v3.2.13。

当我使用rvm use 1.9.2 --defaultgem install rails -v 3.2.13 时,出现以下错误:

While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /home/vikas/.rvm/gems/ruby-1.9.2-p320/bin directory. 

This is the error I'm facing now.

【问题讨论】:

    标签: ruby-on-rails ruby rvm


    【解决方案1】:

    您收到错误的最可能原因:

    (Gem::FilePermissionError) You don't have write permissions into the /home/vikas/.rvm/gems/ruby-1.9.2-p320/bin directory. 
    

    是因为,在某些时候,您使用了sudo,或者在您使用 RVM 安装 gem 时以 root 身份运行。发生这种情况时,文件和/或文件夹的所有权更改为 root 的权限,您无法覆盖以您的身份运行。

    您不想以 root 身份运行,或者在运行 rvmgem 命令时使用 sudo EVER 如果您安装了 RVM 以在您的沙箱中提供 Ruby主目录。

    要解决此问题,请尝试以下命令:

    sudo chown -R vikas ~/.rvm
    

    这将使用sudo 将 ~/.rvm 目录中所有文件的所有权从“root”用户更改为您自己的帐户。这至少需要几秒钟,所以让它运行吧。

    运行后,您应该能够切换到每个 Ruby 并删除已安装的 Rails:

    rvm use 1.9.2
    gem uninstall rails
    gem install rails -v 3.2.13
    

    然后:

    rvm use 2.0.0
    gem uninstall rails
    gem install rails -v [whatever version you want]
    gem install rails -v 
    

    【讨论】:

      【解决方案2】:
      rvm use 1.9.2 --default Using /home/vikas/.rvm/gems/ruby-1.9.2-p320 
      gem install rails -v 3.2.13
      

      【讨论】:

      • 执行 gem 时 ... (Gem::FilePermissionError) 您没有对 /home/vikas/.rvm/gems/ruby-1.9.2-p320/bin 目录的写入权限。这是我现在面临的错误
      • 那是文件权限问题,要么用vikas用户登录安装gem,要么系统安装rvm,稍后再安装rails版本。
      【解决方案3】:

      rvm 是一个软件工具,您可以通过它管理系统上多个版本的 rubies。

      对于每个 ruby​​ 版本,您可以创建一个 gemset,它只是一组 gem。

      您安装的每个 ruby​​ 版本都有一个“默认”gemset。

      您似乎已经为 ruby​​ 1.9.2 安装了 rails 3.0,为 ruby​​ 2.0 安装了 rails 3.2.13

      您可以通过命令创建自己的 gemset

      rvm gemset create rails3
      

      这将创建一个名为“rails3”的 gemset,并且要使用它,您必须这样做

      rvm gemset use rails3
      

      在这个 gemset 中,您可以安装任何版本的 Rails。

      用命令

      gem install rails -v='3.2.13'
      

      有关更多信息,请参阅 rvm 文档。

      https://rvm.io/

      【讨论】:

        猜你喜欢
        • 2013-09-26
        • 2015-05-04
        • 2013-07-07
        • 2016-12-24
        • 1970-01-01
        • 2015-07-04
        • 2017-02-09
        • 2017-10-27
        相关资源
        最近更新 更多