CKAN中ckanext-geoview插件Webasset无法加载更新后的Underscore库求助
针对你更新Underscore到1.13.4版本后Webasset仍加载旧版本的问题,可尝试以下方案:
清除Webassets缓存:CKAN会缓存编译后的静态资源文件,即使替换了源文件,旧缓存仍会被调用。找到你的CKAN Webassets缓存目录(通常为
/var/lib/ckan/default/webassets,具体路径可查看CKAN配置文件中的webassets.path),删除目录下所有文件,然后重启CKAN服务。sudo rm -rf /var/lib/ckan/default/webassets/* sudo systemctl restart ckan验证Underscore文件路径与版本:确认
js/vendor/underscore/underscore.js确实是你更新后的1.13.4版本。打开该文件,查看头部注释是否包含// Underscore.js 1.13.4,避免因路径错误加载了其他目录下的旧版本文件。修改输出文件名强制重新编译:在
webassets.yml中修改output字段,比如将ckanext-geoview/%(version)s_openlayers.js改为ckanext-geoview/%(version)s_openlayers_updated.js,这样CKAN会生成全新的编译资源文件,绕过旧缓存。问题解决后可改回原文件名,记得同步清除缓存。手动编译Webassets:使用CKAN命令行工具强制重新编译所有静态资源:
ckan -c /etc/ckan/default/production.ini webassets build排查重复引入冲突:打开浏览器开发者工具的Sources面板,查看所有加载的Underscore文件,确认是否有CKAN核心或其他插件也加载了旧版本的Underscore。若存在冲突,需调整资源加载顺序或替换对应位置的Underscore文件。
内容的提问来源于stack exchange,提问作者mcetinyamac

