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

如何克隆修改osm_flutter插件仓库并在Flutter项目中正常使用?

解决方案

问题原因

你遇到的错误是因为原仓库是多包结构:flutter_osm_plugin主包依赖了同级目录的flutter_osm_interface(用相对路径./flutter_osm_interface声明)。当你通过git远程引用这个包时,Pub只能拉取flutter_osm_plugin单个包的代码,无法获取同级的flutter_osm_interface目录,因此无法解析相对路径依赖。

必须克隆本地仓库,具体操作步骤

  1. 克隆自己的fork仓库到本地
    打开终端,执行命令:

    git clone https://github.com/你的GitHub账号/osm_flutter.git
    

    替换你的GitHub账号为你实际的账号名,把仓库克隆到本地合适的位置(比如和你的Flutter项目同级目录)。

  2. 修改项目的pubspec.yaml依赖配置
    把原来的git依赖替换为本地路径依赖,指向你克隆仓库里的flutter_osm_plugin目录:

    dependencies:
      hive: ^2.2.3
      hive_flutter: ^1.1.0
      flutter:
        sdk: flutter
      flutter_osm_plugin:
        path: ../osm_flutter/flutter_osm_plugin  # 路径根据你本地项目和克隆仓库的相对位置调整
      #flutter_osm_plugin: ^0.42.0
    

    注意:路径要根据你实际的目录结构调整,比如如果克隆的仓库在你项目的子目录里,路径就要改成./osm_flutter/flutter_osm_plugin。

  3. 执行flutter pub get
    回到你的Flutter项目目录,重新执行:

    flutter pub get
    

    此时Pub会识别本地多包结构的依赖,正常拉取所有需要的代码。

  4. 修改代码并同步到远程fork仓库
    直接在本地克隆的osm_flutter仓库里修改代码,完成后执行git提交和push:

    git add .
    git commit -m "描述你的修改内容"
    git push origin main  # 或者对应分支名
    

    你的本地Flutter项目会自动使用修改后的本地代码,测试没问题后即可维护自己的fork仓库。

你之前的操作错误点

直接通过git远程引用主包,没有考虑到原项目的多包本地依赖结构,Pub无法从远程仓库解析相对路径的依赖项,必须通过本地路径依赖才能识别整个项目的模块关系。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 01:13:59