2011-01-14 168 views
14

我想在我的debian lenny服务器上安装最新的ruby和rails。如何在debian lenny上安装ruby 1.9.2?

我发现包http://packages.debian.org/lenny-backports/ruby1.9.1-full但是当我尝试使用我安装它只是得到:

atlas:~# apt-get install ruby1.9.1-full 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
E: Couldn't find package ruby1.9.1-full 

我的sources.list如下:

atlas:~# cat /etc/apt/sources.list 

deb http://ftp.se.debian.org/debian/ lenny main non-free contrib 
deb-src http://ftp.se.debian.org/debian/ lenny main non-free contrib 

deb http://security.debian.org/ lenny/updates main contrib non-free 
deb-src http://security.debian.org/ lenny/updates main contrib non-free 

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free 
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free 

我有什么做的得到它安装?

+0

[超级用户](http://superuser.com/)可能是更好的地方问。 – vikingosegundo 2011-01-14 11:50:03

+0

@vikingosegundo:我同意。这与编程无关。它基本上是“我怎么使用我的操作系统”,这是一个[超级用户(http://SuperUser.Com/)类型的问题,但它可能是更适合于[UNIX和Linux StackExchange(HTTP:/ /Unix.StackExchange.Com/),但目前没有办法在那里迁移问题。 – 2011-01-14 13:37:20

+0

嗯,好吧,从来没有听说过超级用户,直到现在,谢谢你指出。 – Jeena 2011-01-14 13:41:00

回答

17

停止。回去。安装任何版本的Ruby Debian,可能是1.8.7或1.8.7。然后安装RVM。我有一些using RVM with Ubuntu的方向(对不起,不是Debian,但它很接近)。严重的是,RVM使安装任何版本的Ruby变得简单。然后,使用RVM安装Ruby 1.9.2,你不需要1.9.1。

这将取决于你想使用Ruby的工作。出于开发目的,使用RVM非常有效。为了服务器的目的,我想它可以被使用,但是你可能会遇到一些问题。我认为RVM为您提供了一些可用于使用init脚本和cron作业运行Ruby脚本的脚本。

或者,您可以从源代码安装。这并不难,也不是debian的方式,但它会完成工作。这可能更适合安装一些第三方软件包,您可能不知道他们在编译时做了什么,以及如何在出现安全漏洞的情况下快速更新。使用RVM或从源手动安装,您可以随时更新。

8

首先运行此:

apt-get update 

然后安装Ruby

apt-get install ruby 

然后,你需要的RubyGems

wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz 

解压的RubyGems ...

tar xvf rubygems-1.3.5.tgz 
cd rubygems-1.3.5 
ruby setup.rb 
ln -s /usr/bin/gem1.8 /usr/bin/gem 

现在更新RubyGems的

gem update --system 

现在我们可以安装导轨

gem install rails 

您可以检查是否安装了succesfull用下面的命令:

ruby -v 
rails -v 
gem -v 

如果您需要更多帮助让我知道!

如果你想要的Ruby 1.9.2替换以下命令:

apt-get install ruby 

apt-get install ruby1.9 

如果你需要开发头,你可以只安装ruby1.9-dev的。

apt-get install ruby1.9-dev 

如果你不能将它们安装这种方式,你需要看看你的apt-get的来源。

apt-cache search ruby1.9 

libhtree-ruby1.9 - HTML/XML tree library for Ruby 1.9 
.... 
libinotify-ruby1.9 - Ruby interface to Linux's inotify system 
.... 
libdbm-ruby1.9 - DBM interface for Ruby 1.9 
libgdbm-ruby1.9 - GDBM interface for Ruby 1.9 
.... 
**ruby1.9-dev** - Header files for compiling extension modules for the Ruby 1.9 
ruby1.9-elisp - ruby-mode for Emacsen 
ruby1.9-examples - Examples for Ruby 1.9 
**ruby1.9** - Interpreter of object-oriented scripting language Ruby 1.9 
libstfl-ruby1.9 - Ruby bindings for the structured terminal forms language/library 

我希望这helps.And我会建议使用RVM(但我没有涵盖在这里..)

3

不要安装Debian任何红宝石,最近的主要维护者之一给予http://www.lucas-nussbaum.net/blog/?p=617 Debian的红宝石过去很丑,经常被破坏,所以安装它的最好方法是现在使用rvm,这是一个在同一台机器上管理gemset和不同版本红宝石的小程序。

2

如果你想从莱尼反向移植库安装一个软件包,你显然需要有它在你的sources.list

deb http://Backports.Debian.Org/debian-backports lenny-backports main contrib non-free 
deb-src http://Backports.Debian.Org/debian-backports lenny-backports main contrib non-free 

由于反向移植不受正常严格的质量审查,其他包,它们默认是禁用的。如果你想从反向移植库中安装一个软件包,你必须分配明确地传递给apt-get或​​,就像与experimental库:

apt-get -t lenny-backports install ruby191-full # or 
aptitude -t lenny-backports install ruby191-full 

由于回迁软件包会被默认禁用,你赢了”吨甚至获得安全更新它们,除非你在/etc/apt/preferences加固定:

Package: * 
Pin: release a=lenny-backports 
Pin-Priority: 200 

All of this is clearly spelled out on the Debian Backports website.

请注意,你应该小心不要混合包管理系统。您应该使用通过APR 通过RubyGems安装所有Ruby库,但混合它们通常不是一个好主意。另外,如果你使用Debian的RubyGems包,你应该只通过APT更新它,而不是通过RubyGems的内置更新机制(gem update --system)。实际上,我相信在目前的版本中,Debian已经删除了更新机制来防止这种情况发生,但情况并非总是如此。

个人而言,我在生产服务器上使用Debian Ruby包,没有任何问题,并且我不使用RubyGems ,所有,我只使用Debian提供的Ruby库。

4

RVM是一个很好的解决方案,但不能用于生产环境。它的$ PATH魔术太挑剔,经常打破。

我建议为自己搭建一个.deb。您从源代码编译Ruby,然后使用checkinstall进行安装。然后,您可以将其创建的.deb分发到任何计算机,然后像使用任何软件包一样使用dpkg 进行安装/卸载。

Here's a tutorial,这是否在Ubuntu;它应该很容易翻译成Debian。