1

我已经尝试在互联网上寻找解决方案,但无济于事。每次我尝试在我的本地机器上设置一个新应用程序时,我都会遇到大量关于 RVM 的荒谬问题。我决定是时候学会正确地做这件事了。

基本上,我已经获得了 Github 中 Rails 项目的许可,我想让它在我的本地机器上正常运行。

一般来说,我过去一直在做的事情是这样的:

$ git clone git@github.com/projectpath
$ ls projectpath
$ bundle install 
$ rake db:setup

并交叉我的手指。有时它可以工作,有时我必须使用 RVM 来更改 rubies 并重做捆绑安装。今天,一切都在崩溃,我不断遇到这样的问题:

$ rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

我有一种感觉,我没有正确设置这些应用程序,也没有使用 RVM 作为它应该使用的 - 基本上我相信我对 RVM 的基本理解是错误的。如果有人可以概述使用远程 Github 存储库设置新应用程序的正确方法,并解释使用 RVM 运行这个新应用程序的正确方法,我将不胜感激。提前致谢!

4

2 回答 2

4

我认为如果您使用 RVM 的 gemsets,您的生活会更轻松。每个 rails 应用程序一个 gemset。这使一切都变得美好并彼此隔离。

所以……像这样的东西……

# install bundler in the global gemset as you want it available everywhere.
$ rvm use @global
$ gem install bundler

# create a project specific rvmrc/gemset.
$ cd /folder/containing/your/github/repo
$ echo "rvm use @myapp" > .rvmrc
$ cd into/rails/root/for/your/app
$ bundle install

此时,您正在将 gem 安装到 'myapp' gemset 中,与其他 gem 完全隔离。.rvmrc 有一个新文件名,但我不记得它是什么。.ruby-version 什么的。

您可能还需要先创建 gemset,然后才能使用它。请参阅 RVM 文档以了解如何自动实现这一点。

于 2013-07-24T20:16:01.820 回答
1

这些克隆的项目是否在顶级目录中有名为 .ruby-version 和 .ruby-gemset 的文件?这些文件指示 rvm(和其他版本控制系统)使用特定的 ruby​​ 版本和 gemset 组合。有时你可能 cd 到一个引用你已经创建的 gemset 名称的克隆目录,在这种情况下 bundle 和 rake 工作,有时它引用你没有的 gemset,在这种情况下你会得到神秘的爆炸.

于 2013-07-24T20:16:52.143 回答