6

当我使用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 --defaultandgem 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.
4

3 回答 3

21

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

(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 的权限,您无法覆盖以您的身份运行。

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

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

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 
于 2013-07-04T07:56:09.643 回答
0
rvm use 1.9.2 --default Using /home/vikas/.rvm/gems/ruby-1.9.2-p320 
gem install rails -v 3.2.13
于 2013-07-04T06:24:53.463 回答
0

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-07-04T06:30:29.117 回答