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

Flutter版Jellyfin客户端Jellyflut本地运行依赖包问题求助

解决Jellyflut Flutter项目依赖包问题

我从GitHub克隆了Flutter开源项目Jellyflut,Jellyfin是一款由志愿者开发的媒体管理方案,可从自有服务器无限制地将媒体流式传输至任意设备。但在本地运行该项目时,遇到了依赖包相关问题,已尝试执行flutter pub upgrade和flutter pub upgrade --major-versions命令,但均无法解决问题。以下是项目的pubspec.yaml文件内容:

name: jellyflut
description: Jellyfin client made with Flutter.

publish_to: "none" # Remove this line if you wish to publish to pub.dev

version: 2.0.0

environment:
  sdk: ">=2.17.0 <3.0.0"

module:
  androidX: true

dependencies:
  animated_fractionally_sized_box: ^2.0.1
  animations: ^2.0.7
  archive: ^3.3.6
  audio_video_progress_bar: ^1.0.0
  authentication_repository:
    path: packages/authentication_repository
  auto_route: ^8.1.3
  blurhash_dart: ^1.2.1
  cached_network_image: ^3.2.3
  carousel_slider: ^4.2.1
  community_material_icon: ^5.9.55
  cupertino_icons: ^1.0.5
  database_downloads_api:
    path: packages/database_downloads_api
  device_info_plus: ^8.1.0
  dio: ^4.0.6
  downloads_api:
    path: packages/downloads_api
  downloads_repository:
    path: packages/downloads_repository
  drop_shadow: ^0.1.0
  easy_localization: ^3.0.1
  easy_localization_loader: ^1.0.1+1
  equatable: ^2.0.5
  file_picker: ^5.2.5
  flutter:
    sdk: flutter
  flutter_bloc: ^8.1.1
  flutter_colorpicker: ^1.0.3
  flutter_native_splash: ^2.2.17
  flutter_settings_ui: ^3.0.1
  flutter_svg: ^2.0.0+1
  fluttertoast: ^8.1.2
  hydrated_bloc: ^9.0.0
  intl: ^0.18.0
  items_api:
    path: packages/items_api
  items_repository:
    path: packages/items_repository
  jellyfin_authentication_api:
    path: packages/jellyfin_authentication_api
  jellyfin_downloads_api:
    path: packages/jellyfin_downloads_api
  jellyflut_models:
    path: packages/jellyflut_models
  json_serializable: ^6.5.4
  just_audio: ^0.9.30
  live_tv_api:
    path: packages/live_tv_api
  live_tv_repository:
    path: packages/live_tv_repository
  music_player_api:
    path: packages/music_player_api
  music_player_repository:
    path: packages/music_player_repository
  octo_image: ^2.0.0
  package_info_plus: ^3.0.2
  palette_generator: ^0.3.3+2
  path: ^1.8.2
  path_provider: ^2.0.12
  permission_handler: ^10.2.0
  photo_view: ^0.15.0
  provider: ^6.0.5
  reactive_forms: ^17.0.0
  remote_downloads_api:
    path: packages/remote_downloads_api
  responsive_builder: ^0.7.0
  rxdart: ^0.27.7
  settings_repository:
    path: packages/settings_repository
  shared_preferences: ^2.0.17
  shimmer: ^3.0.0
  shu_epub:
    git:
      url: https://github.com/getBoolean/shu_epub.git
      ref: main
  sliver_tools: ^0.2.9
  sqlite3_flutter_libs: ^0.5.12
  sqlite_database:
    path: packages/sqlite_database
  streaming_api:
    path: packages/streaming_api
  streaming_repository:
    path: packages/streaming_repository
  subtitle: ^0.1.0-beta.3
  universal_io: ^2.0.4
  url_launcher: ^6.1.8
  users_api:
    path: packages/users_api
  users_repository:
    path: packages/users_repository
  uuid: ^4.4.0
  wakelock: ^0.6.2

dependency_overrides:
  audio_video_progress_bar: ^1.0.0
  image: ^4.0.13
  intl: ^0.18.0
  analyzer: ^5.2.0
  ffi: ^2.0.1
  universal_html:
    git:
      url: https://github.com/juancastillo0/universal_html.git
      ref: 5a079ea

dev_dependencies:
  auto_route_generator: ^8.0.0
  build_runner: ^2.3.2
  build_web_compilers: ^4.0.10
  dart_code_metrics: ^5.6.0
  flutter_lints: ^3.0.2
  flutter_test:
    sdk: flutter
  icons_launcher: ^2.0.5

# The following section is specific to Flutter.
flutter:
  assets:
    - img/
    - img/icon/
    - translations/

  fonts:
    - family: Poppins
      fonts:
        - asset: fonts/Poppins-Italic.ttf
          style: italic
        - asset: fonts/Poppins-Regular.ttf
          style: normal
    - family: HindMadurai
      fonts:
        - asset: fonts/HindMadurai-Regular.ttf
          style: normal
    - family: Quicksand
      fonts:
        - asset: fonts/Quicksand-Regular.ttf
          style: normal

  # The following line ensures that the Material Icons font is
  # included with your application, so that you can use the icons in
  # the material Icons class.
  uses-material-design: true

解决方案

  • 匹配Flutter SDK版本
    项目明确要求SDK版本在>=2.17.0 <3.0.0范围内,执行flutter --version确认本地版本,若不符合,用flutter downgrade切换到该区间的稳定版(比如2.19.6),或通过Flutter SDK管理器选择对应版本。

  • 彻底清理依赖缓存
    依次执行以下命令清理残留的依赖文件:

    flutter clean
    rm -rf .dart_tool  # Windows系统替换为 rd /s /q .dart_tool
    rm pubspec.lock    # Windows系统替换为 del pubspec.lock
    
  • 重新获取依赖
    执行flutter pub get,不要直接用upgrade——项目包含大量本地子包(如packages/authentication_repository),upgrade可能破坏子包与主项目的版本兼容。

  • 确保子模块完整
    克隆项目时可能未拉取全部子模块,执行git submodule update --init --recursive下载所有本地子包,避免因缺失本地依赖导致错误。

  • 处理Git依赖问题
    项目中的shu_epub和universal_html依赖Git仓库,若网络拉取失败,可尝试替换为pub.dev上的稳定版本(若存在),比如查看pub.dev中shu_epub的最新兼容版本,修改pubspec.yaml中的对应配置。

  • 修复依赖冲突
    若仍有冲突,查看错误日志中的具体冲突包,在dependency_overrides中添加对应包的版本锁定,补充冲突包的版本约束。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 15:35:01