b2c信息网

您现在的位置是:首页 > 热点事件 > 正文

热点事件

rubygems源码包(Ruby开发)

hacker2022-07-07 07:37:29热点事件96
本文目录一览:1、如何安装Ruby和RubyGems2、

本文目录一览:

如何安装Ruby和RubyGems

如何安装 Ruby 和 RubyGems

Tags: 教程rubyvmcGemfile Last Updated: 2012-09-28

以下章节介绍关于如何在 Windows 和各种 Linux 计算机上安装 Ruby 和 RubyGems 的基本信息。

Windows

下载和安装 Windows 的 Ruby 安装程序。该安装程序中已经包括 RubyGems。 您在随后安装和使用 vmc 时请务必使用支持 Ruby 的命令提示符窗口。您可以通过 Windows“开始”菜单访问此命令提示符(“所有程序” Ruby 版本 “使用 Ruby 启动命令提示符”)。 最后,通过以下 Ruby 命令提示符更新 RubyGems: prompt gem update --system

对 Windows Gemfile 的支持

安装 Ruby 后,请阅读 Cloud Foundry 上的 Ruby 应用程序中的说明,以了解关于推送应用程序和使用 Gemfile 的详细信息 Windows 用户需注意以下问题:

在 Windows 机器上生成 Gemfile.lock 时,其中包含的 gem 会采用 Windows 特定的版本。 mysql2、thin 和 pg 等 gem 版本的最后包含有“x86-mingw32”。 例如,在 Windows 机器上使用以下 Gemfile 运行 bundle install 时: gem ‘sinatra’ gem ‘mysql2’ gem ‘json’

将生成以下 Gemfile.lock 文件: GEM

remote: specs:

json (1.7.3)

mysql2 (0.3.11-x86-mingw32) rack (1.4.1)

rack-protection (1.2.0) rack

sinatra (1.3.2)

rack (~ 1.3, = 1.3.6) rack-protection (~ 1.2) tilt (~ 1.3, = 1.3.3) tilt (1.3.3)

PLATFORMS

x86-mingw32

DEPENDENCIES json mysql2 sinatra

现在,Cloud Foundry 将能够可靠安装这类 gem 而不必修改 Gemfile.lock

Mac OS X

Mac OS X 的 10.5 和更高版本出厂时已经安装了 Ruby 和 RubyGems。 如果您正在使用较早版本的 Mac OS,请先下载和安装最新版本的 Ruby,然后再安装 RubyGems。

Ubuntu

在终端上用 apt-get 命令行工具安装 Ruby 和 RubyGems 时的步骤如下: 1. 安装整个 Ruby 包和 RubyGems:

prompt$ sudo apt-get install ruby-full rubygems

有关 sudo 命令的任何必要的身份验证凭据,请咨询您的系统管理员。 2. 通过测试以确保您的路径中有 gem 命令: prompt$ which gem

如未找到该命令,请相应的更新 PATH 变量。例如,可使用以下命令行更新您的 .bashrc 文件:

export PATH=$PATH:/var/lib/gems/1.8/bin 3. 更新 RubyGems: Ubuntu 10.04

prompt$ sudo gem install rubygems-update

prompt$ sudo /var/lib/gems/1.8/bin/update_rubygems Ubuntu 11.10

prompt$ sudo su -

prompt# export REALLY_GEM_UPDATE_SYSTEM=true prompt# gem update --system prompt# exit

RedHat/Fedora

在终端上用 yum 命令行工具安装 Ruby 和 RubyGems 时的步骤如下: 1. 安装 Ruby:

prompt$ sudo yum install ruby

2. 如果您正在使用 RedHat Enterprise Linux 6,请可选 登录 Red Hat Network (RHN) 启用您主机的通道。 3. 安装 RubyGems:

prompt$ sudo yum install rubygems

Centos

在终端上用 yum 命令行工具安装 Ruby 和 RubyGems 时的步骤如下: 1. 安装基本的 Ruby 包: prompt$ yum install -y ruby 2. 安装其他 Ruby 包和文档:

prompt$ yum install -y ruby-devel ruby-docs ruby-ri ruby-rdoc 3. 安装 RubyGems:

opennebula是用什么开发的

增加 CentOS Karan 源:

# cd /etc/yum.repos.d

# wget

# yum update

安装 OpenNebula 需要的软件包以及编译 OpenNebula 源代码所需的工具:

# yum install gcc gcc-c++ make openssl-devel flex bison

# yum install ruby ruby-devel ruby-docs ruby-ri ruby-irb ruby-rdoc

# yum install rubygems

# gem install nokogiri rake xmlparser

# yum install scons

# yum install xmlrpc-c xmlrpc-c-devel

CentOS 自带的 sqlite 版本不行,需要下载和编译 sqlite 3.6.17 版本:

# wget

# tar xvzf sqlite-amalgamation-3.6.17.tar.gz

# cd sqlite-3.6.17/

# ./configure; make; make install

下载和编译 opennebula 2.0.1 源码包后,解压、编译和安装:

# tar zxvf opennebula-2.0.1.tar.gz

# cd opennebula-2.0.1

# scons

# ./install.sh -d /srv/cloud/one

# ls /srv/cloud/one/

bin etc include lib share var

下载RubyGems,然后运行"Ruby setup.rb",这样可以吗,没有setup这个文件啊

当然不可以了

解决方案1:

1)你直接这样Ruby setup.rb,ruby会到他的工作目录里面去找,肯定没有了。

如果你想这样用,在cmd中,要用cd命令,切到setup.rb的文件夹下面,再运行Ruby setup.rb

解决方案2:

2)如果不用cd切换当前目录

直接运行ruby setup.rb的全路径 也可以

如何创建自己的ruby gem包

1. 建好如下文件夹

注意:lib目录下必须有个和你gem名字一样的rb文件。

[ruby] view plaincopy

$ cd hola

$ tree

.

├── hola.gemspec

└── lib

└── hola.rb

2. 编写代码

. hola.rb

[ruby] view plaincopy

% cat lib/hola.rb

class Hola

def self.hi

puts "Hello world!"

end

end

.hola.gemspec

[ruby] view plaincopy

% cat hola.gemspec

Gem::Specification.new do |s|

s.name = 'hola'

s.version = '0.0.0'

s.date = '2010-04-28'

s.summary = "Hola!"

s.description = "A simple hello world gem"

s.authors = ["Nick Quaranto"]

s.email = 'nick@quaran.to'

s.files = ["lib/hola.rb"]

s.homepage =

''

end

这里面可以设置很多属性。我会专门写篇文章介绍。

上面字段的意思,比较简单。相信大家都能理解。

3.编译生成gem

[ruby] view plaincopy

% gem build hola.gemspec

Successfully built RubyGem

Name: hola

Version: 0.0.0

File: hola-0.0.0.gem

% gem install ./hola-0.0.0.gem

Successfully installed hola-0.0.0

1 gem installed

4.测试使用

[ruby] view plaincopy

% irb

require 'hola'

= true

Hola.hi

Hello world!

注意:在ruby 1.9.2之前到版本里面,需要先require 'rubygem',才能使用我们写的gem.

5.发布到rubygems网站

[ruby] view plaincopy

$ curl -u tom

~/.gem/credentials

Enter host password for user 'tom':

设定完之后发布

[ruby] view plaincopy

% gem push hola-0.0.0.gem

Pushing gem to RubyGems.org...

Successfully registered gem: hola (0.0.0)

发布成功。

这样任何一个人都可以使用你写的gem了。

稍微复杂的rubygem例子

上面的例子只有一个ruby文件,一般gem应该没有这么简单的。

下面说下有多个ruby文件该怎么写。

1. 目录结构

多了个hola目录和translator.rb文件

[ruby] view plaincopy

% tree

.

├── hola.gemspec

└── lib

├── hola

│ └── translator.rb

└── hola.rb

2. 代码

lib/hola/translator.rb

[ruby] view plaincopy

% cat lib/hola/translator.rb

class Hola::Translator

def initialize(language)

@language = language

end

def hi

case @language

when :spanish

"hola mundo"

else

"hello world"

end

end

end

lib/hola.rb

[ruby] view plaincopy

% cat lib/hola.rb

class Hola

def self.hi(language = :english)

translator = Translator.new(language)

translator.hi

end

end

require 'hola/translator'

.hola.gemspec

[ruby] view plaincopy

% cat hola.gemspec

Gem::Specification.new do |s|

s.name = 'hola'

s.version = '0.0.0'

s.date = '2010-04-28'

s.summary = "Hola!"

s.description = "A simple hello world gem"

s.authors = ["Nick Quaranto"]

s.email = 'nick@quaran.to'

s.files = ["lib/hola.rb", "lib/hola/translator.rb"]

s.homepage =

''

end

红色是和上面不一样的地方。

其他步骤和上面一样了。很简单吧!

最后说下怎么写个 gem包含可执行文件的例子。

这个也很简单。像rake就是典型的包含可执行文件的gem.

1. 在刚才工程目录下建个bin文件夹

生成可执行文件,并且修改权限为可运行。

[ruby] view plaincopy

% mkdir bin

% touch bin/hola

% chmod a+x bin/hola

2. 修改可执行文件内容

bin/hola

[ruby] view plaincopy

#!/usr/bin/env ruby

require 'hola'

puts Hola.hi(ARGV[0])

测试下

[ruby] view plaincopy

% ruby -Ilib ./bin/hola

hello world

% ruby -Ilib ./bin/hola spanish

hola mundo

3 .最后修改gemspec

[ruby] view plaincopy

% head -4 hola.gemspec

Gem::Specification.new do |s|

s.name = 'hola'

s.version = '0.0.1'

s.executables 'hola'

其他就和上面一样了。很简单吧。

Ruby Gems不能连接到国内镜像,怎么回事???

由于国内网络原因(你懂的),导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以你会与遇到 gem install rack 或 bundle install的时候半天没有响应,具体可以用 gem install rails -V 来查看执行过程。

这是一个完整 rubygems.org 镜像,你可以用此代替官方版本,同步频率目前为15分钟一次以保证尽量与官方服务同步。

如何使用?

$ gem sources --add  --remove 

$ gem sources -l

*** CURRENT SOURCES ***

# 请确保只有 ruby.taobao.org

$ gem install rails

如果你使用 Gemfile 和 Bundle (例如:Rails 项目)

你可以用 Bundler 的 Gem 源代码镜像命令。

$ bundle config mirror. 

这样你不用改你的 Gemfile 的 source。

source ''

gem 'rails', '4.1.0'

...

如何修改Ruby的gem源

Ruby环境下的gem sources地址默认是国外网络地址,所以在使用gem的过程中经常会出现找不到资源的Error。那么如何解决这种Error?方法很简单:要么就多次尝试执行gem命令,要么就修改gem源地址。

下面由小河给大家分享:如何修改Ruby的gem源地址。

注:无论是在windows系统上还是在linux系统上其修改方式一样,以CentOS6.4为例。

工具/原料

Ruby

gem源(gem sources)

CentOS6.4

方法/步骤

进入Centos6.4系统。

◆示例是以Centos6.4系统为例。

◆若是windows系统则进入“命令提示符”做修改。

查看当前使用的源地址。

◆输入:gem sources

删除默认的源地址。

◆输入:gem sources -r url地址

注:默认的url地址后必须有”/”,否则删不掉。

添加淘 宝的源地址。

◆输入:gem sources -a url地址

注:国内使用淘 宝的源比较稳定,且安装或更新网速都比较快。

更新源的缓存

◆输入:gem sources -u

更新源的缓存后即完成了Ruby的gem源修改。

发表评论

评论列表

  • 辙弃孚鲸(2022-07-07 11:02:18)回复取消回复

    y 应用程序中的说明,以了解关于推送应用程序和使用 Gemfile 的详细信息 Windows 用户需注意以下问题: 在 Windows 机器上生成 Gemfile.lock 时,其中包含的 gem 会采用 Windows 特定的版本。 mysql2、thin 和 pg 等 gem 版本的最后包含有

  • 痛言浊厌(2022-07-07 15:33:40)回复取消回复

    em 'rails', '4.1.0'...如何修改Ruby的gem源Ruby环境下的gem sources地址默认是国外网络地址,所以在使用gem的过程中经常会出现找不到资源的Error。那么如何解决这种Error?方法很简单:要么就多次尝试执

  • 边侣冢渊(2022-07-07 13:05:56)回复取消回复

    这类 gem 而不必修改 Gemfile.lock Mac OS X Mac OS X 的 10.5 和更高版本出厂时已经安装了 Ruby 和 RubyGems。 如果您正在使用较早版本的 Mac OS,请先下载和安装最新版本的 Ruby,然后再安装 RubyGems。 Ubuntu 在终端上用