I have a flutter code where the first widget is the Carousel Slider. It was running fine till I updated flutter. Now it shows the following error
/C:/Users/Family/AppData/Local/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'.
import 'carousel_controller.dart';
^^^^^^^^^^^^^^^^^^
/C:/Users/Family/AppData/Local/Pub/Cache/hosted/pub.dev/carousel_slider-4.2.1/lib/carousel_slider.dart:48:15: Error: 'CarouselController' is imported from both 'package:carousel_slider/carousel_controller.dart' and 'package:flutter/src/material/carousel.dart'.
: CarouselController() as CarouselControllerImpl,
^^^^^^^^^^^^^^^^^^
/C:/Users/Family/AppData/Local/Pub/Cache/hosted/pub.dev/carousel_slider-4.2.1/lib/carousel_slider.dart:62:15: Error: 'CarouselController' is imported from both 'package:carousel_slider/carousel_controller.dart' and 'package:flutter/src/material/carousel.dart'.
: CarouselController() as CarouselControllerImpl,
^^^^^^^^^^^^^^^^^^
Target kernel_snapshot_program failed: Exception
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileFlutterBuildDebug'.
> Process 'command 'D:Appsflutterbinflutter.bat'' finished with non-zero exit value 1
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 9s
I tried hiding the CarouselController from the Material.dart package but still it keeps showing the same thing.
Following is my code
import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart' hide CarouselController;
import 'package:reema_swad_cooking_class/bottomnavigationbar.dart';
import 'package:reema_swad_cooking_class/calendar.dart';
import 'package:reema_swad_cooking_class/coursedescription.dart';
import 'courselist.dart';
import 'sololist.dart';
import 'appbar.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<StatefulWidget> createState() {
return _HomeScreen();
}
}
class _HomeScreen extends State<HomeScreen> {
static final GlobalKey<ScaffoldState> _scaffoldKey =
GlobalKey<ScaffoldState>();
var selectedPage = 0;
CarouselController buttonCarouselController = CarouselController();
String getCourseIdFromImageName(String imageName) {
String courseId = imageName.replaceAll(RegExp(r'[^0-9]'), '');
return courseId;
}
@override
Widget build(BuildContext context) {
return Scaffold(
key: _scaffoldKey,
appBar: const CustomAppBar(),
bottomNavigationBar: const CustomBottomNavigationBar(),
body: SingleChildScrollView(
child: Column(
children: [
const Padding(
padding: EdgeInsets.only(top: 16.0, right: 16, left: 16),
child: Row(
children: [
Expanded(
child: Text(
'Upcoming Classes',
style: TextStyle(
fontSize: 24,
fontWeight: FontWeight.bold,
),
),
),
],
),
),
LayoutBuilder(builder: (context, constraints) {
double aspectRatio = 16 / 9;
double containerHeight = constraints.maxWidth / aspectRatio;
return SizedBox(
width: constraints.maxWidth,
height: containerHeight,
child: CarouselSlider(
options: CarouselOptions(
height: double.infinity,
autoPlay: true,
autoPlayInterval: const Duration(seconds: 4),
enableInfiniteScroll: true,
viewportFraction: 0.95,
enlargeCenterPage: true,
),
and then the rest of my code. If the rest of the code is also required I will edit the question to add it.
2
Answers
The problem is in the package
carousel_slider
itself. There’s nothing you could do to fix that problem inside your own code and needs to be solved in the package itself, and it seems that they exactly have done as 4 days ago they released version5.0.0
solving the issue by renaming the controller. See https://pub.dev/packages/carousel_slider/changelog .So you just need to use the latest version
You should upgrade carousel_slider ^5.0.0.
With this version you should replace CarouselController with CarouselSliderController.
Anyway using
should work as well. I tried it on my side and it is working. Maybe you need to restart your IDE.