我的第一个问题(很抱歉可能造成的错位):新的Rails应用程序的/ tmp / cache / bootsnap-compile-cache中的所有文件是什么(256个目录,1403个文件,28,2 MiB)?它们是必需的还是我可以全部删除?
谢谢。
答案 0 :(得分:0)
简短答案:您可以安全删除/ tmp / cache / bootsnap-compile-cache。
长答案:Bootsnap是一个Ruby库,它可以优化和缓存昂贵的计算,这意味着您可以更快地启动Ruby / Rails应用程序。
Bootsnap用来加速应用程序的一种策略称为编译缓存。
Ruby必须将红宝石源转换为内部字节码,然后由 VM执行。 Bootsnap所做的是将这些翻译巧妙地缓存在由标头和缓存内容(这些文件存储在相关目录下)组成的缓存文件中。这样做是为了使您的应用程序执行各种操作时,只需对Bootsnap缓存的已翻译字节码进行查找,而无需执行相对昂贵的编译步骤,从而使代码执行速度更快。
此概念的可读实现可以找到here
您可能已经猜到了,删除这些文件仅意味着您的应用程序在本地运行慢一点,直到随后再次缓存操作为止。
不幸的是,据我所知,Bootsnap的缓存目前没有没有自动清除机制。该库将清理缓存留给用户(例如assets:clean
或容器修剪)。
希望有帮助!