Pet*_*own 15 ruby ruby-on-rails
我正在使用Spring应用程序预加载器,只是升级到v 0.9.0.现在我收到以下警告:
警告:运行
gem pristine --all
以重新生成已安装的gemspecs将提高Spring的启动性能.
我尝试运行该命令,但它无法安装我的一些宝石,这可能与我最近升级到OS X Mavericks有关.我如何摆脱这个警告?
doc*_*hat 15
这是因为以前版本的rubygems会在查询时加载所有gemspec.
这开始很慢,安装的宝石越多越慢.
但是使用Rubygems 2.1,它有一个"存根"的gemspec,加载速度非常快.有关详细信息,请参阅https://github.com/rubygems/rubygems/pull/435.
春天人们利用这个来加载每个gemspec只是加载只使用一小部分的bin/spring来调用spring服务器.
它正在进行的测试(假设你有RubyGems 2.1或更高版本)基本上是:
ruby -e 'p Gem::Specification.stubs.reject(&:stubbed?).reject(&:default_gem?).map(&:name)'
Run Code Online (Sandbox Code Playgroud)
如果那个清单不是空的,那就知道你有更老的宝石; 使用RubyGems <2.1安装的gem.
您可以使用该信息生成要运行的宝石列表gem pristine
:
# /tmp/dirty.rb
require 'shellwords'
Gem::Specification.stubs.reject(&:stubbed?).reject(&:default_gem?).each do |gemspec|
puts "gem pristine #{Shellwords.escape gemspec.name} --version #{Shellwords.escape gemspec.version.to_s}"
end
Run Code Online (Sandbox Code Playgroud)
然后运行:
ruby /tmp/dirty.rb | bash
Run Code Online (Sandbox Code Playgroud)
但它更容易运行gem pristine --all
,正如@Beerlington所提到的,gem uninstall
任何宝石都会给它带来问题.
归档时间: |
|
查看次数: |
3757 次 |
最近记录: |