You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux编译Flutter应用时flutter_secure_storage包报错求助

解决Linux下Flutter编译flutter_secure_storage的CMake依赖错误

可行解决方案:

1. 确认pkg-config能识别libsecret

先运行命令检查系统的pkg-config是否能找到已安装的libsecret:

pkg-config --list-all | grep libsecret

如果没有输出,说明libsecret的配置文件未在pkg-config的搜索路径内,手动添加路径(以x86_64架构为例):

export PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH"

添加完成后重新尝试编译。

2. 替换snap版Flutter为官方二进制版

snap版Flutter运行在沙箱环境中,可能无法访问系统级依赖库。操作步骤:

  • 卸载snap版Flutter:
    sudo snap remove flutter
    
  • 从Flutter官网下载官方二进制包,解压后将其bin目录添加到系统PATH:
    export PATH="$HOME/flutter/bin:$PATH"
    
  • 执行flutter doctor检查环境,再运行flutter clean && flutter pub get && flutter run重新编译。

3. 更新CMake版本

错误日志中使用的CMake 3.16版本较旧,可能存在依赖识别问题。更新到最新稳定版:

sudo apt remove cmake
sudo apt update && sudo apt install cmake

更新完成后重新编译项目。

4. 手动指定libsecret路径(临时方案)

若以上方法无效,可临时修改插件的CMake配置:
找到项目内的flutter/ephemeral/.plugin_symlinks/flutter_secure_storage_linux/linux/CMakeLists.txt,定位到第14行的pkg_check_modules代码块,手动添加libsecret的链接路径:

pkg_check_modules(SECRET REQUIRED libsecret-1 IMPORTED_TARGET)
# 新增行,替换为你的libsecret实际安装路径
target_link_directories(flutter_secure_storage_linux PUBLIC /usr/lib/x86_64-linux-gnu)

注意:此方法会在flutter pub get后被覆盖,仅作为临时应急方案。

内容的提问来源于stack exchange,提问作者karan duggal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 18:45:03