我有一个RubyonRails应用程序,它运行良好已经有一段时间了。今天,我为它添加了一些功能,然后在开发环境中启动了该应用程序,该应用程序启动良好,没有出现错误。但当我试图在浏览器上访问该应用程序时,我遇到了以下错误:
NameError:未初始化的常量Bootsnap::CompileCache::ISeq>(
我已经尝试将Bootsnap gem更新到最新版本:
gem 'bootsnap', '>= 1.4.6'
删除了Gemfile.lock
文件
rm -rf Gemfile.lock
然后运行bundle update命令来更新gems
bundle update
但还没有成功,因为我仍然遇到同样的问题。任何形式的帮助都将不胜感激。谢谢
我终于想通了。我没有必须更新Bootsnap gem。
问题是您的应用程序目录中的Bootsnap gemtmp
目录对当前用户不可写入,也就是说,当前用户没有权限写入您的应用软件目录中的Bootsnap gemtmp
目录。
以下是我解决问题的方法:
只需使用超级用户权限删除应用程序目录中的Bootsnap gemtmp
目录:
sudo rm -rf tmp/cache/bootsnap-load-path-cache
sudo rm -rf tmp/cache/bootsnap-compile-cache
不要再重新创建tmp
目录,这是浪费精力的
只需启动应用程序,就会再次自动创建tmp
目录:
rails s
如果在此之后您遇到此错误:
apply2files 权限被拒绝
然后按照这里的解决方案:Rails:"权限被拒绝-/tmp/cache/assets/development/stockets/
仅此而已。
我希望这对有帮助