我是否必须在每个新项目上安装Rails?

时间:2014-02-13 22:07:50

标签: ruby-on-rails

这是一个初学者级别的问题。

我正在使用Ubuntu 12.04

我将一个项目(使用rails new命令在Rails 4上创建)从Dropbox复制到我的本地环境,我之前安装了Rails 4和最新的Ruby和RVM,转到项目目录,键入rails服务器并获得

目前尚未安装“rails”程序。您可以输入以下命令安装它:

sudo apt-get install rails

我改为gem install rails

我是否必须在每个项目的目录上运行gem install rails?我认为Rails安装是一般的,可以在我的整个环境中访问。

该项目是使用相同的Ruby版本创建的,但是在MacOS X系统上。

该项目是一个静态网络宣传册,没有数据库配置。

提前谢谢。

3 个答案:

答案 0 :(得分:1)

确保您使用的是正确版本的Ruby - 与您安装Rails的版本相同 - 使用rvm list

你可能有两个(因为你有这样的问题) - 系统Ruby和RVM安装的Ruby。可能RVM没有参与并挂接rails可执行文件的正确路径,从而导致错误。

这应解决问题:

rvm use whatever-ruby-you-had-installed-rails-into

其中whatever-ruby-you-had-installed-rails-into是从ruby-2.1.0-p0输出中获取的rvm list字符串。

使RVM保留项目的Ruby版本。

echo whatever-ruby-you-had-installed-into >.ruby-version

在项目的路径中。

答案 1 :(得分:1)

经过几个小时的测试,再现问题和阅读(其他答案包括在内),我得到的解决方案如下:

简短回答:不需要.Rails只需要安装一次。

答案很长:发生此问题的原因是终端上的默认设置阻止系统使用ruby和rails的RVM安装。解决方案是integrate RVM with gnome-terminal,如RVM网站所述。

  1. 启用终端窗口后,转到顶栏的菜单
  2. 编辑>个人资料首选项>标题和命令选项卡
  3. 选中运行命令作为登录shell
  4. 重新启动终端并确保设置了gemset和ruby版本
  5. rails server现在应该按预期工作(在Rails实际运行正常之前,可能会提示您运行bundle install,请按照promtp进行操作。)
  6. 我仍在学习使用Ruby on Rails,因此非常欢迎任何有关此问题的输入,说明或其他信息。

答案 2 :(得分:0)

您不必在每个项目上安装Rails,而是为该项目所需的宝石。

使用bundle install安装您在Gemfile

中指定的所有宝石

如果你想避免每次更改项目时重新安装宝石,我建议你更好地了解RVM:它有一个名为gemset(https://rvm.io/gemsets)的选项,如果你使用它你只需要切换你的宝石集:

rvm gemset use yourgemset

我希望它可以帮到你。