我有一个运行了一段时间的Ruby on Rails应用程序。今天,我向其中添加了一些功能,然后在开发环境中启动了该应用程序,该程序运行良好,没有错误。但是,当我尝试在浏览器上访问应用程序时,遇到了以下错误:
NameError:未初始化的常量Bootsnap :: CompileCache :: ISeq>)
我尝试将Bootsnap gem更新到最新版本:
gem 'bootsnap', '>= 1.4.6'
删除Gemfile.lock
文件
rm -rf Gemfile.lock
然后运行bundle update命令来更新gem
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 / sprockets /
就这样。
我希望这有帮助
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句