Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 无法生成rvm.rvmrc文件_Ruby On Rails_Ruby On Rails 3_Rvm_Rvmsudo - Fatal编程技术网

Ruby on rails 无法生成rvm.rvmrc文件

Ruby on rails 无法生成rvm.rvmrc文件,ruby-on-rails,ruby-on-rails-3,rvm,rvmsudo,Ruby On Rails,Ruby On Rails 3,Rvm,Rvmsudo,几个月前,我使用rvm创建了一个rails3应用程序。一切正常 现在,我想创建另一个rails3应用程序。所以我做了: $> rails new my_app 一切正常。接下来,我想将我的应用程序链接到rvm,所以我尝试了以下方法: $> ruby -v ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux] $> rvm install 1.9.3 $> rvm get head $> rvm -

几个月前,我使用rvm创建了一个rails3应用程序。一切正常

现在,我想创建另一个rails3应用程序。所以我做了:

$> rails new my_app
一切正常。接下来,我想将我的应用程序链接到rvm,所以我尝试了以下方法:

$> ruby -v
   ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
$> rvm install 1.9.3
$> rvm get head
$> rvm --rvmrc --create 1.9.3-p448@my_app (http://stackoverflow.com/questions/11138376/how-to-make-rvmrc-file-in-project-root-folder)
但我有一个错误:

mkdir: cannot create directory `/usr/local/rvm/gems/ruby-1.9.3-p448@bcayi': Permission denied
好吧,权限被拒绝了,所以我试着:

$> rvmsudo --rvmrc --create 1.9.3-p448@my_app
我有一个错误:

sudo: invalid option -- '-'
所以我的问题是:如何将rvm链接到我的rails应用程序?

试试看

sudo rvm --rvmrc --create 1.9.3-p448@my_app

因为您的RVM安装在系统中(
/usr/local/RVM
vs.
$HOME/.RVM
),所以您需要加入
RVM
组(使用
id
)才能使用RVM进行操作(如在本例中创建宝石)

要将自己添加到
rvm
组运行:

rvm group add rvm $USER
然后,您可能需要重新启动控制台/计算机以使其正常工作-有时,刚将您添加到组中的OSX会在
id
中报告它,但在重新启动计算机(或重新登录,但在OSX上是同时进行的)之前,它将无效。

问题已解决

因为
rvmsudo--rvmrc--create 1.9.3-p448@my_app
失败,我创建了1.9.3-p448@my_app手动目录:

$> sudo mkdir /usr/local/rvm/gems/ruby-1.9.3-p448@my_app
然后,我通过了ruby-1.9.3-p448@my_apprvm组中的目录:

$> sudo chown jeremy:rvm /usr/local/rvm/gems/ruby-1.9.3-p448@my_app
$> sudo chmod 755 /usr/local/rvm/gems/ruby-1.9.3-p448@my_app
最后,我可以在不使用
rvmsudo
的情况下创建我的gemset:

$> cd my_app/
$> rvm gemset create my_app
$> rvm --rvmrc --create ruby-1.9.3-p448@my_app
$> cd .. ; cd my_app/
   You are using '.rvmrc' ...

投票失败后,您显然不知道rvm是如何工作的-它是一个shell函数,可以更改当前的流程环境,在它前面加上
sudo
可以更改流程并将其作为二进制文件运行。这是对rvm的一个很好的描述,值得一试。我已经在rvm组中了:
$>rvmsudo rvm组添加rvm$USER
告诉我:
用户“jeremy”已经在组“rvm”中了
运行
id
告诉你什么?如果它不在
rvm
组中-您重新启动了计算机吗?@mpapis:谢谢,尽管我的用户已经在
rvm
组中,但您的回答提供了一个上下文,让我明白只要我在该组中,我根本不需要使用
rvmsudo
来操作系统rvm实例。也感谢RVM!在撰写本文时,使用Scientific Linux 6.4(x86_64)和最新的稳定RVM获得sudo invalid选项错误。在我的案例中,事实证明——如果我是
rvm
组的话——我甚至不必首先使用
rvmsudo