`

rvm安装ruby,gem,rails,之后仍然无法找到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+Ruby1.9.3+Rails3(1-Cygwin 安装配置)

    - 打开 Cygwin Terminal,执行以下命令安装 RVM: ```bash curl -sSL https://get.rvm.io | bash -s stable ``` - 添加 RVM 到 shell 的初始化脚本中: ```bash echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && ...

    ruby on rails社区网站开发源码

    这通常涉及设置Ruby版本管理器如RVM或rbenv,然后安装特定版本的Ruby,接着通过Gemfile安装Rails。 2. **初始化项目**:使用`rails new`命令创建一个新的Rails应用,这个命令会生成一系列的目录和文件,包括基础的...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    2. **安装Rails**:安装完Ruby后,使用gem包管理器安装Rails 2.2.3。运行`gem install rails -v 2.2.3`命令即可。 3. **创建新项目**:使用Rails命令行工具创建一个新的Rails项目。在终端中输入`rails new project_...

    怎样在Ubuntu系统下配置Ruby On Rails开发环境.docx

    本文介绍了如何在 Ubuntu 12.04 系统下配置 Ruby On Rails 开发环境的步骤,包括安装系统需要的包、安装 RVM、安装 Ruby、安装 Rails 环境和安装 MySQL。通过按照这些步骤,开发人员可以快速地搭建 Ruby On Rails ...

    ubuntu下安装ruby on rails

    使用 `gem install` 命令来安装 Rails: ```bash sudo gem install rails ``` 为了避免依赖问题,建议同时安装 Rails 及其依赖: ```bash sudo gem install rails --include-dependencies ``` **1.4 安装 Web ...

    ruby on rails 安装手记

    安装过程中可能需要安装其他依赖,如Node.js(用于处理JavaScript assets)和SQLite3(常见的数据库选择),可以通过以下命令安装: ``` sudo apt-get install nodejs sudo apt-get install sqlite3 libsqlite3-dev ...

    免费Ubuntu系统ruby on rails安装【保姆级教程】

    在本篇【保姆级教程】中,我们将详细探讨如何在Ubuntu系统上安装Ruby on Rails环境。首先,确保你已经下载了Ubuntu桌面版,这可以从官方链接(https://cn.ubuntu.com/download)获取。Ruby on Rails是流行的开源Web...

    使用RVM实现控制切换Ruby/Rails版本

    在Ruby开发环境中,RVM(Ruby Version Manager)扮演着至关重要的角色,它允许开发者在同一台机器上安装、管理和切换多个Ruby版本以及相应的Rails框架版本。这对于处理不同项目或遵循不同教程时保持一致性非常有用。...

    安装Ruby On Rails所需的部分资源

    在安装Ruby on Rails时,通常需要一些关键的依赖和库,包括Ruby本身、RubyGems以及特定的 Gems(Ruby 的包管理器)。下面我们将详细讨论这些知识点。 1. **Ruby**:Ruby 是一种面向对象的、动态类型的脚本语言,以...

    ruby on rails操作流程.pdf

    1. 安装RVM(Ruby Version Manager)是搭建Rails环境的关键。首先,更新软件包列表: ``` sudo apt-get update ``` 2. 安装curl,用于后续安装RVM: ``` sudo apt-get install curl ``` 3. 使用curl安装RVM: ...

    ruby on rails istaller

    通过以下命令安装最新版本的Rails: ```bash gem install rails ``` 安装完成后,验证Rails是否成功安装: ```bash rails -v ``` 创建一个新的Rails项目: ```bash rails new my_app ``` 这里`my_app`是你项目...

    快速安装Ruby on Rails的简明指南

    ### 快速安装Ruby on Rails的简明指南 #### 知识点概览 - **基础知识**:了解Ruby on Rails框架及其重要性。 - **系统准备**:选择合适的操作系统进行安装。 - **基础软件安装**:包括Xcode、Homebrew等必备工具。 ...

    ruby1.8.6 + rails2.0.2 安装配置 详细说明

    安装Rails需要先确保Ruby已安装,然后通过RubyGem包管理器执行`gem install rails -v 2.0.2`命令。 RadRails 0.7.2是一个专为Ruby on Rails设计的集成开发环境(IDE),它基于Eclipse平台,提供了代码编辑、调试和...

    ruby on rails开发

    安装完Ruby后,使用gem包管理器安装Rails。打开终端或命令提示符,输入`gem install rails`,等待安装完成。确保你的Ruby版本和Rails版本匹配,避免出现兼容性问题。 3. **数据库配置** Rails默认使用SQLite...

    ruby_on_rails安装部署指导手册

    - 使用 `curl` 命令下载 RVM 安装脚本至 `/opt/ruby_on_rails/rvm` 目录。 - 解压并运行安装脚本:`tar --strip-components=1 -xzf ../rvm-stable.tar.gz` 和 `./install --auto-dotfiles`。 - 设置环境变量:`...

    ruby on rails实践

    在开始Ruby on Rails实践之前,你需要安装Ruby、Gem(Ruby的包管理器)、Bundler(依赖管理工具)以及Rails本身。通常,使用RVM(Ruby Version Manager)或rbenv来管理Ruby版本,确保系统环境的稳定。 三、创建新...

    ruby on rails 实例depot

    Ruby on Rails,简称Rails,是基于Ruby编程语言的一个开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率,简化Web应用开发流程。Depot是一个经典的Rails教程示例项目,它展示了如何...

    RVM配置ROR

    ### RVM配置Ruby on Rails (ROR) 知识点详解 #### 一、RVM简介与作用 RVM(Ruby Version Manager)是一款强大的工具,主要用于管理不同的Ruby版本及其依赖库。通过RVM,开发者可以在同一系统中安装多个Ruby版本,并...

Global site tag (gtag.js) - Google Analytics