Answers:
在Rails 3和Rails 4中,使用 bundle show
在Rails 2中,rake gems
将打印出已安装,已冻结等的gem,依赖项和版本。
bundle show | grep gem_name
,请使用罗盘示例:bundle show | grep compass
如果使用捆绑程序,则可以从以下版本获取版本
bundle show [gemname]
bundle info [gemname]
代替。
我花了比预期更长的时间来查找和整理这些信息,因此我想将其发布在这里以供其他人查看。我还想为Rails 3澄清一下:
脚本/关于已被替换为rake about
详细信息在这里。如果您对Rails 3的所有命令行更改列表感兴趣,可以在此处找到。
rake gems
在Rails 3中不起作用。您应该使用 bundle show
例如,您可以将所有版本的宝石保存到文件中,以供查看:
gem list > all_gems.txt
然后您可以查看您的Rails应用程序使用的版本:
bundle show > project_gems.txt
使用像Vim这样的编辑器,您可以轻松地使用vimdiff来查看更改
script/about
会告诉您您正在使用的核心Rails和Rack gem的版本,但没有其他内容。理想情况下,如果您查看config/environment.rb
,应该有一个类似于以下内容的部分:
# Specify gems that this application depends on and have them installed with rake gems:install
# config.gem "bj"
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
# config.gem "sqlite3-ruby", :lib => "sqlite3"
# config.gem "aws-s3", :lib => "aws/s3"
运气好的话,该应用程序的作者将在其中包含所有必需的gem和版本。但是,版本在此文件中是可选的,并且最终没有什么可以阻止没有经验的开发人员仅将a拍require 'rubygems'; require 'some_random_thing'
在任何给定文件的顶部。
如果看到需要使用gem,但未指定版本,则可以键入gem list
以查看系统上所有gem的所有版本。默认情况下,它将使用最新的可用版本。
bundle exec gem which gem_name
可能是您可以使用的:
$› bundle exec gem which rails
/Users/xxxx/.rvm/gems/ruby-2.1.2@gemset/gems/railties-4.1.7/lib/rails.rb
gem which gem_name