我在Windows操作系统托管的Ubuntu VM中运行我的开发环境,因此我使用的是VM使用的Windows托管NFS。我最近遇到了“太快”的文件访问问题(链接器尝试取消链接文件但失败了,我可以在几秒钟之后手动完成)。这个常见问题显示为:Permission denied @ unlink_internal - /home/vagrant/rails/dev.website/tmp/cache/assets/development/sprockets/v3.0/[some-random-string]
。每次都会出现不同的资产参考,所以我知道文件本身并不是问题。
我的止损解决方案是使用memcached作为sprockets的缓存方法(而不是filestore)。
这是有效的,但是当我想在我的日志中调试渲染时间/迭代时,我不希望memcached运行。理想情况下,我想将整个应用程序的临时目录设置为VM的本地文件系统,而不是我的rails应用程序所在的NFS安装文件夹 - 除非有人有更好的解决方案。