Ste*_*wer 114 rubygems ruby-on-rails
我正在调查一个rails应用程序 - prod服务器安装了两个特定gem的版本,我怎么知道prod应用程序使用的是哪个版本?
BJ *_*ark 165
在Rails 3和Rails 4中,使用 bundle show
在Rails 2中,rake gems
将打印出安装,冻结等所有宝石,依赖项和版本.
Sna*_*hot 37
我花了比预期更长的时间来查找和整理这些信息,所以我想把它发布在一个地方供其他人查看.我还想为Rails 3澄清一点:
脚本/关于已被替换为rake about
详细信息在这里.如果您对Rails 3的所有命令行更改列表感兴趣,可以在此处找到它们.
rake gems
在Rails 3中不起作用.相反,你应该使用 bundle show
例如,您可以将所有版本的gem保存到文件中以供查看:
gem list > all_gems.txt
你可以看到你的Rails应用程序使用的版本:
bundle show > project_gems.txt
使用像Vim这样的编辑器,您可以轻松使用vimdiff查看更改
可能有更直接的方法来找到它,但如果你加载一个控制台并需要一个特定的版本,如下所示:
gem 'RedCloth', '3.0.4'
Run Code Online (Sandbox Code Playgroud)
它会告诉你已激活的版本:
=> Gem::LoadError: can't activate RedCloth (= 3.0.4, runtime) for [], already activated RedCloth-4.2.2
Run Code Online (Sandbox Code Playgroud)
还有一个列表Gemfile.lock
,位于应用程序的根目录中.
出于这个原因,我离开Gemfile.lock
了我的.gitignore
.当我忘记指定宝石版本时GemFile
,这已经不止一次地拯救了我,并且宝石更新了更改.
在终端
bundle show [gem-name]
bundle show | grep [gem-name]
Run Code Online (Sandbox Code Playgroud)
要么
gem list | grep [gem-name]
Run Code Online (Sandbox Code Playgroud)
[gem-name]应该替换为您要查找的gem名称。
归档时间: |
|
查看次数: |
88999 次 |
最近记录: |