当前位置:首页 > 开发 > Web前端 > 前端 > 正文

rvm安装ruby,gem,rails,之后仍然无法找到rails命令

发表于: 2012-11-29   作者:hotsunshine   来源:转载   浏览次数:
摘要: 又在这里在栽跟头了,很久之前遇到过,没想到这次还是遇到了。真是脑子不如硬盘好使,虽然现在感觉以后不会再忘记了,但是还是记下来吧。 $ rails -v 程序 'rails' 已包含在下列软件包中: * rails * ruby-railties-3.2 请尝试:sudo apt-get install <选定的软件包> 就是rvm安装ruby和rails
又在这里在栽跟头了,很久之前遇到过,没想到这次还是遇到了。真是脑子不如硬盘好使,虽然现在感觉以后不会再忘记了,但是还是记下来吧。

$ rails -v
程序 'rails' 已包含在下列软件包中:
 * rails
 * ruby-railties-3.2
请尝试:sudo apt-get install <选定的软件包>


就是rvm安装ruby和rails之后,ruby -v好使,gem -v好使,但是rails -v不好使。
显然是系统没有把他加到相应的环境变量中去,手动添加环境变量可能是一种方式,当时既然我们用rvm来管理我们的各个版本的ruby和rails,那么这个时候我们去手动添加环境变量显然是不合适的。

那么到底是其他的什么原因的,是rvm,我运行rvm use 1.9.3 --default提示我说rvm is not a function。好吧知道原因了吧

source ~/.rvm/scripts/rvm

type rvm | head -n 1


执行上面的命令吧,之后你会看到这个
rvm is a function

另外这个只会对当前会话有效,如果要长期有效的话,把 source ~/.rvm/scripts/rvm添加到 ~/.bashrc即可

在Multi-User模式安装的情况下,rvm是安装在/usr/local/rvm/下,另外它在安装的时候会在/etc/profile.d/目录下产生一个rvm.sh的脚本文件,查看/etc/profile文件的代码,就会发现,所有用户都会加载的这个profile文件会遍历运行/etc/profile.d 下的所有脚本文件。
但是我按照默认的开启终端方式,却无法找到rvm这个命令。su - 用户名是可以的,这就有点奇怪了,后来看到这篇文章 http://ruby-china.org/topics/3705 ,文章中说的恰恰是“Ubutnu的Gnome Terminal在启动时是non-login shell,而non-login shell只会读取~/.bashrc来进行初始化,所以没有读入写在~/.bash_login中的RVM loading line,以至于RVM没有作为function载入,故悲剧发生了。”,其中的一个解决方式:就是设置Gnome Terminal以login的方式启动

Gnome Terminal默认是no-login的启动,这种情况下的加载
execute /etc/bash.bashrc
IF ~/.bashrc exists THEN
    execute ~/.bashrc
END IF


login shell执行的是下面
execute /etc/profile
IF ~/.bash_profile exists THEN
    execute ~/.bash_profile
ELSE
    IF ~/.bash_login exist THEN
        execute ~/.bash_login
    ELSE
        IF ~/.profile exist THEN
            execute ~/.profile
        END IF
    END IF
END IF


这样就不难理解为什么默认情况下无法加载/etc/profile.d/下的rvm脚本了

文章二:类unix系统是如何初始化shell的
http://reyesyang.info/articles/26-how-to-initialize-a-new-shell-in-unix-like-os

=============
补充
因为GFW的缘故,很多时候下载gem的时候,相应非常慢,这个时候就可以使用国内的源
$ gem sources --remove https://rubygems.org/
$ gem sources -a http://ruby.taobao.org/

rvm安装ruby,gem,rails,之后仍然无法找到rails命令

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
记得两年前使用ror做网站,自动生成功能记忆犹新,只是当时网络知识实在缺乏,体会不到其中的乐趣。
最近学习ruby,也做一些学习笔记。不对之处希望大家谅解并指出。谢谢。 1.ruby下载   在http://ru
Rails3.0学习笔记系列目录 Rails3.0学习笔记(一) homebrew、git、mysql环境的安装 Rails3.0学习笔
在前面,我们学会了使用RVM的作用和利用RVM安装ruby并管理其版本的方法。 下一步就是使用ruby中的ge
Ruby On Rails 在安装时候可以有两种解决方法。 一、直接安装 我们可以去Ruby On Rails的官方网站上
Ruby on Rails 体验之旅(一)--安装 最新心血来潮的想学一门新的东西,听说用ROR的开发效率会很高
Ruby On Rails 在安装时候可以有两种解决方法。 一、直接安装 我们可以去Ruby On Rails的官方网站上
ruby on rails 安装(windows) 今天来说下在windons下面安装ror运行环境(因为一些原因,非特殊情
这段时间学习了一下Ruby,感觉真的是比较容易上手。特别是安装了Ruby On Rails以后,发现通过Ruby On
如果你的电脑上没有安装Ruby,还等什么,我们去官方网站下载安装程序吧。对于运行Rails3.0,最低需
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号