Flutter 3.24.0にバージョンアップした際に、carousel_slider-4.2.1で発生したエラーの備忘録です。
HTML
Error (Xcode): ../../../.pub-cache/hosted/pub.dev/carousel_slider-4.2.1/lib/carousel_slider.dart:9:1: Error: 'CarouselController' is imported from both 'package:carousel_slider/carousel_controller.dart' and 'package:flutter/src/material/carousel.dart'.エラーを見ると、package:carousel_slider/carousel_controller.dart と package:flutter/src/material/carousel.dart の両方から同じクラスのCarouselControllerがインポートされています。と書いてあります。
似たようなエラーは発生していないか調査!
読んで見ると、エイリアス(別名)やhideキーワードを使うこと、またはCarouselControllerの名前を変更することが解決策として提案されています。
解決策①
インポート時にエイリアス(別名)を使って名前の衝突を避ける
Dart
import 'package:carousel_slider/carousel_controller.dart' as custom_carousel;
import 'package:flutter/src/material/carousel.dart' as material_carousel;
// 使用時にエイリアスを使う
final controller = custom_carousel.CarouselController();解決策②
carousel_slider_plusパッケージを使用する
解決策③
hideを使い、アクセス不可のクラスを指定する
Dart
import 'package:flutter/material.dart' hide CarouselController;carousel_sliderのversionsを5.0.0にする。
pubspec.yaml
carousel_slider: ^5.0.0carousel_sliderのversionsを上げたくない人は、他の解決策を参考にしてみてください。


