Rails 应用程序目录的 $PATH 值与系统上的其他目录不同

Rails 应用程序目录的 $PATH 值与系统上的其他目录不同

我最近在 Ubuntu 11.10 上安装了 Rails 3.2.1(Gem 版本 1.8.7),该版本在 Ruby 1.9.3 上运行。我使用 rvm 安装了 ruby​​、rails 和 gem。我目前只安装了一个版本。当我在普通目录中输入“ruby -v”时,我按预期看到 1.9.3,当我输入 rails -v 时,我按预期看到 3.2.1。

这样我就可以输入“rails new sample”来创建一个名为sample的rails应用程序。但是如果我进入“sample”目录并输入“rails server”,它会告诉我rails未安装。所以我检查了$PATH变量,结果不是我期望看到的。这是我目前看到的输出。

在此处输入图片描述

如果我在“sample”目录中输入“rvm --default use 1.9.3”,rails 会再次被识别。有人知道这是怎么发生的吗?或者知道要开始搜索什么吗?提前谢谢。

答案1

首先,这并不是真正回答为什么它有这个,而是一个解决方案/解决方法。

首先,让我们制作一个 Rails 应用程序:

jrg@discovery:~/code$ rails 新示例

然后,我们需要.rvmrc为我们的应用程序创建一个文件。更多关于为什么这很重要的信息请点击此处,但基本思想是它是孤立的。将其保存在 rails 应用程序内部sample(因此,如果它在 ~/code 中,我们需要将 .rvmrc 保存在 ~/code/sample/.rvmrc 中)

.rvmrc 文件需要包含的内容如下:

rvm——创建1.9.3@$项目

将 $project 更改为您想要的任何内容,这并不重要。

然后,cd 进入 ~/code/sample,你会看到一个可怕的警告:

在此处输入图片描述

因为你知道这里面有什么,所以你可以放心地输入y“是”,尽管我强烈推荐您输入v(用于查看)的任何奇怪的 .rvmrc - 它们可能存在安全风险,尽管我还没有看到过。

现在,运行bundle install以安装所有 gem。尽情享受吧!

相关内容