skip to Main Content

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


  1. 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 version 5.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

    Login or Signup to reply.
  2. You should upgrade carousel_slider ^5.0.0.

    [FIX] Rename CarouselController to CarouselSliderController

    With this version you should replace CarouselController with CarouselSliderController.

     CarouselSliderController buttonCarouselController = CarouselSliderController();
    

    Anyway using

    import 'package:flutter/material.dart' hide CarouselController;
    

    should work as well. I tried it on my side and it is working. Maybe you need to restart your IDE.

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search