新手问题 ruby 本地都的 gem 包要怎么调?

lianyutao · 2013年08月19日 · 最后由 sevk 回复于 2013年08月20日 · 3477 次阅读

*** LOCAL GEMS ***

atomic (1.1.10) bundler (1.3.5) coderay (1.0.9) daemons (1.1.9) eventmachine (0.12.10) execjs (1.4.0) i18n (0.6.4) json_pure (1.8.0) libv8 (3.11.8.17 x86_64-linux) method_source (0.8.2) minitest (5.0.6, 4.7.5) multi_json (1.7.7) mysql (2.9.1) nats (0.4.28) pry (0.9.12.2) rack (1.5.2) ref (1.0.5) slop (3.4.6) sqlite3 (1.3.7) therubyracer (0.11.4) thin (1.5.1) thread_safe (0.1.0) tzinfo (1.0.1, 0.3.37)

我要调用 nats 包要怎么调用?直接用 require 么?

是啊,必要时加上目录

require 就可以了

@Shadow require 'nats' 之后他报错

#3 楼 @lianyutaorequire 'rubygems'

@doitian 运行到 require'nats'还是报相同的错误说找不到那个文件

#5 楼 @lianyutao 如果用了 rvm gemset 只能用 gemset 中的 gem。在启用了 bundle 后只能 require Gemfile 中的 gem

@doitian 直接写一个 ruby 文件能调用 gem 么?

#7 楼 @lianyutao 看了下 nats 没有提供 lib/nats.rb,所以你没办法直接 require 'nats'。gems 只是把它的 lib 文件夹放到 load path 里,具体 require 文件是看 lib 下的文件名的。不是说 require gem 的名字就可以用这个 gem 了。试试 require 'nats/client'

@doitian require 'nats/client' 还错 no such file to load -- nats/client,这要怎么解决啊?

#9 楼 @lianyutao 检查下路径

p Gem.paths.path
p Gem.paths.home

@doitian p Gem.paths.path 是命令么?

#11 楼 @lianyutao 在 irb 下,require 后输入。或者文件里这么写。这里的p是 API,见下面的文档

http://www.ruby-doc.org/core-2.0/Kernel.html#method-i-p

@_kaichen 不太明白你的意思?

@_kaichen 能不能将的具体点?

require "nats/client" http://rubydoc.info/gems/nats/0.4.28/frames http://rubygems.org/gems/nats

ruby1.8 需要加一句: require 'rubygems'

需要 登录 后方可回复, 如果你还没有账号请 注册新账号