Nic*_*nto 16 deployment logging heroku
几天前我开始看到了
Would have removed best_in_place (2.0.2)
Would have removed thor (0.16.0)
Run Code Online (Sandbox Code Playgroud)
在我的heroku部署输出中.
它曾经说它删除了宝石.
有谁知道这是怎么回事?
更新
heroku更新到最新的ruby 1.9.3和捆绑缓存清理很好.
Rom*_*man 13
这是Heroku部署配置中的一个错误.它写了一个文件.bundle/config,它有一行:
BUNDLE_DRY_RUN: false
Run Code Online (Sandbox Code Playgroud)
当bundler加载此全局配置文件时,它将其转换为:dry_run =>"false"当它检查此设置时,它检查设置[:dry_run],这是一个字符串,其值为true.
你可以通过一些shell命令删除这一行(heroku run bash):
mv -f .bundle/config .bundle/config.orig
sed '/BUNDLE_DRY_RUN/d' < .bundle/config.orig > .bundle/config
Run Code Online (Sandbox Code Playgroud)
然后运行
bundle clean
Run Code Online (Sandbox Code Playgroud)
cat*_*sby 10
这是捆绑器gem中的一个错误 - 本质上是额外的调试信息被转储到屏幕上.它应该在下一个版本中打补丁.去除会从缓存中,很可能是因为一个较新版本(最新的best_in_place是2.0.3,Thor0.17.0或更新版本).这些可以安全地忽略.
经过一番研究,看来这不是一个bug,而是一个功能!
你可以在这里看到https://github.com/carlhuda/bundler/pull/2237
dry_run已经标记了一个标志,表明好像已经删除了宝石,而不是删除它只是打印它
实际代码在这里
if Bundler.settings[:dry_run]
Bundler.ui.info "Would have removed #{output}"
else
Bundler.ui.info "Removing #{output}"
FileUtils.rm_rf(gem_dir)
end
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,如果dry_run打印出那些.否则它会移除宝石
因此,这是一个功能,而不是一个错误,它不会很快修复.这给heroku留下了一个问题(我正在等待回复),为什么他们使用dry_run ..
注意那些不知道的 - 这个膨胀的slug大小
| 归档时间: |
|
| 查看次数: |
1760 次 |
| 最近记录: |