我需要使用一个包的最新源代码,而最新源代码尚未发布。我应该写什么pubspec.yaml才能在 Github 中获得一个包?
下面的代码不起作用。它不下载包,我无法将它导入到我的源代码中
dependencies:
flutter:
sdk: flutter
carousel_pro:
git:
url: https://github.com/jlouage/flutter-carousel-pro.git
pubspec.yaml与特定分支的依赖关系:
dependencies:
flutter:
sdk: flutter
carousel_pro:
git:
url: git://github.com/jlouage/flutter-carousel-pro.git
ref: main # branch name
与特定提交的依赖关系:
dependencies:
flutter:
sdk: flutter
carousel_pro:
git:
url: git://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 没有看到该软件包,请尝试重新启动它。
上面的答案是正确的,但我添加了一些例子。
所以要使用 pub/package/lib 而不在 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 ”必须与该 pub 的 pubspec.yaml 中声明的“ name ”相同。
我将展示这个用例,您想要访问除 main/master 之外的分支中的特定文件夹:
amplify_flutter:
git:
url: git://github.com/aws-amplify/amplify-flutter.git
ref: null-safety-master
path: packages/amplify_flutter/
以上对我不起作用,但将 url 更改为使用 https 确实:
dependencies:
flutter:
sdk: flutter
flutter_tflite:
git:
url: https://github.com/qookit/flutter_tflite.git
ref: main
“main”是我有兴趣使用的分支的名称。
我第一次运行“flutter pub get”时,它打开了一个浏览器窗口,询问我的 git 凭据。