尝试从gem 1.9.2安装时Rails失败

时间:2012-11-08 22:37:07

标签: ruby-on-rails ruby gem rvm ubuntu-12.04

我正在尝试在今天设置的Lubuntu盒子上安装RoR,我已经安装了所有安装Ruby的rvm要求。当我去安装rails时,我不断收到此错误。

运行命令sudo gem install rails -V看起来它正在尝试为ruby 1.9.1提取源但我有1.9.2然后它失败无法加载这样的文件--mkmf(LoadError)。

任何帮助都会非常感激,这是我对Ruby的第一次冒险,所以这是我的第一次设置。问任何问题,我会回答。

enter image description here

3 个答案:

答案 0 :(得分:3)

不要使用sudo来安装rails gem,因为它会切换到无法访问RVM安装的其他用户。只需使用gem install rails

我仍然建议卸载Ruby系统。

答案 1 :(得分:3)

首先,您需要一些RVM预安装,打开终端并输入:

$> sudo apt-get install curl git ruby1.8

然后下载并安装RVM本身:

$> curl -L get.rvm.io | bash -s stable

安装完成后,加载RVM:

$> source ~/.rvm/scripts/rvm

要检查RVM是否已作为函数安装,请键入:

$> type rvm | head -1

(it should output "rvm is a function")

为了工作,RVM有一些需要安装的自己的依赖项。你可以看到它们正在使用的东西:

$> rvm requirements

对于Ruby / Ruby HEAD(MRI,Rubinius,& REE),请安装以下内容:

$> sudo apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion pkg-config

使用RVM后,安装Ruby非常简单:

$> rvm install 1.9.3

在较新版本的Rails中,您还需要一个Javascript运行时,所以:

$> sudo apt-add-repository ppa:chris-lea/node.js
$> sudo apt-get update
$> sudo apt-get install nodejs

我们可以继续使用RVM来安装gems:

$> rvm rubygems current

一旦设置好所有内容,就可以安装Rails了:

$> gem install rails

P.S。

Postinstall&故障排除。

当我们禁用GNOME终端的“运行命令作为登录shell”时,rvm无法作为函数加载,因此输入:

$> type rvm | head -1

输出类似“rvm is /home/mercurial/.rvm/bin/rvm”的内容。

为了解决这个问题,请编辑〜/ .bashrc并在文件末尾添加以下行:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # This loads RVM into a shell session.

答案 2 :(得分:0)

首先:您似乎根本不使用rvm安装它。使用rvm时,它应该安装在家中或/ usr / share中。在/ usr / lib上的这个安装是关于ruby的正常安装。

要在系统而不是rvm上安装它,你应该安装ruby软件包的dev版本,比如

apt-get install ruby1.9-dev

但是,如果你想使用rvm,我想你应该安装它

rvm install 1.9.3.

如果不是你的情况,请告诉我。