用于显示gem依赖项的命令?

时间:2010-10-29 21:34:13

标签: ruby rubygems

是否有一个命令告诉你宝石所依赖的其他宝石?

另外,有没有办法自动安装gem的依赖项?

2 个答案:

答案 0 :(得分:31)

以下信息是从下面链接的rubygems命令参考中提取的。

http://guides.rubygems.org/command-reference/#gem-dependency

你要求的第一个命令是“宝石依赖”。以下是命令说明。

gem dependency GEMNAME [options]

Options:
-v, --version VERSION            Specify version of gem to uninstall
-r, --[no-]reverse-dependencies  Include reverse dependencies in the output
-p, --pipe                       Pipe Format (name --version ver)

Common Options:
    --source URL                 Use URL as the remote source for gems
-h, --help                       Get help on this command
    --config-file FILE           Use this config file instead of default
    --backtrace                  Show stack backtrace on errors
    --debug                      Turn on Ruby debugging

Arguments:
GEMNAME   name of gems to show

Summary:
Show the dependencies of an installed gem

Defaults:
--version '> 0' --no-reverse

您需要的第二个命令是“gem install”。依赖关系会自动安装。有关详细信息,请阅读命令参考中的以下引用。

  

“gem install”将安装named   宝石。它将尝试本地   安装(即。中的.gem文件)   当前目录),如果失败,   它会尝试下载和   安装最新版本的   你想要的宝石。

     

如果远程安装gem,   它取决于其他宝石   没有安装,那么gem将下载   在你拥有之后安装它们   确认了手术。

答案 1 :(得分:1)

要了解有关本地安装的gem的信息:

$ gem dependency /^rails$/
Gem rails-4.0.12
  actionmailer (= 4.0.12)
  actionpack (= 4.0.12)
  activerecord (= 4.0.12)
  activesupport (= 4.0.12)
  bundler (>= 1.3.0, < 2.0)
  railties (= 4.0.12)
  sprockets-rails (~> 2.0)
...

对于任意宝石:

$ gem dependency -rv 4.2.7 /^rails$/
Gem rails-4.2.7
  actionmailer (= 4.2.7)
  actionpack (= 4.2.7)
  actionview (= 4.2.7)
  activejob (= 4.2.7)
  activemodel (= 4.2.7)
  activerecord (= 4.2.7)
  activesupport (= 4.2.7)
  bundler (>= 1.3.0, < 2.0)
  railties (= 4.2.7)
  sprockets-rails (>= 0)

-r代表--remote-v代表--version。我正在运行rubygems-3.0.3。从3.1.0开始,您必须省略正则表达式定界符:

$ gem dependency -rv 4.2.7 ^rails$
...