如何在Flutter中添加来自GitHub的软件包?

pbgvytdp  于 2023-01-18  发布在  Flutter
关注(0)|答案(7)|浏览(293)

我需要使用一个软件包的最新源代码,而最新的源代码还没有发布,我应该在pubspec.yaml中写什么来获得Github中的软件包?
下面的代码不起作用。它不下载软件包,我不能将其导入到我的源代码中

dependencies:
  flutter:
    sdk: flutter

  carousel_pro:
    git:
      url: https://github.com/jlouage/flutter-carousel-pro.git
gg0vcinb

gg0vcinb1#

pubspec.yaml示例

与特定分支的依赖关系:

dependencies:
  flutter:
    sdk: flutter

  carousel_pro:
    git:
      url: https://github.com/jlouage/flutter-carousel-pro.git
      ref: main # branch name

与特定提交的依赖关系:

dependencies:
  flutter:
    sdk: flutter

  carousel_pro:
    git:
      url: https://github.com/jlouage/flutter-carousel-pro.git
      ref: ea12e41 # commit hash

导入软件包的文件示例:

import 'package:carousel_pro/src/carousel_pro_widgets.dart';
import 'package:flutter/material.dart';

class NewsCarousel extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return SizedBox(
      height: 200.0,
      child: WidgetCarousel(
        autoplay: false,
        pages: [],
      ),
    );
  }
}
  • 注意:如果IDE没有看到该包,请尝试重新启动它。*
6yt4nkrj

6yt4nkrj2#

以上答案是正确的,但我补充了一些例子。
因此,要使用pub/package/lib而不在www.example.com上发布pub.dev:

1.本地-保存在某个本地文件夹中

dependencies:
  library_name:
   path: /path/to/library_name

2.托管-在Github、Gitlab等平台上推送

dependencies:
  library_name:
   git: https://github.com/username/library_name

或以确切的分支为目标

dependencies:
  library_name:
   git:
    url: https://github.com/username/library_name.git
    ref: dev    #branch name

或以精确提交为目标

dependencies:
  library_name:
   git:
    url: https://github.com/username/library_name.git
    ref: e234072340    #commit reference id

其中“library_name”必须与该发布的pubspec.yaml中声明的“name”相同。

g6ll5ycj

g6ll5ycj3#

我将展示这个用例,在这个用例中,您希望访问除main/master之外的分支中的特定文件夹:

amplify_flutter:
    git:
      url: git://github.com/aws-amplify/amplify-flutter.git
      ref: null-safety-master
      path: packages/amplify_flutter/
d5vmydt9

d5vmydt94#

上面的方法对我不起作用,但是把网址改成https就起作用了:

dependencies:
  flutter:
    sdk: flutter

  flutter_tflite:
      git:
        url: https://github.com/qookit/flutter_tflite.git
        ref: main

“main”是我感兴趣使用的分支的名称。
我第一次运行flutter pub get的时候,它也打开了一个浏览器窗口来询问我的git凭据。

vc6uscn9

vc6uscn95#

以下是一个示例

audio_service:
    git:
      url: https://github.com/kaushikgodhani/audio_service.git
      ref: minor #branch name
      path: audio_service  #Folder Path on Github
fykwrbwg

fykwrbwg6#

如果软件包不是整个存储库,则可以使用path

geocoding:
    git:
      url: https://github.com/abdullahalamodi/flutter-geocoding.git
      path: geocoding #refers to flutter-geocoding/geocoding
kognpnkq

kognpnkq7#

此外,如果需要,还可以使用tag

private_view:
  git:
    url: git@github.com:xxx/private_view.git
    ref: 0.0.2 # tag

相关问题