Fluttter关于第三方插件版本冲突问题

前言

项目需要指定第三方插件的版本,不然拉取库会自动改变版本,可能会引入一些莫名其妙的bug,造成不好的影响。

在指定版本时遇到一下问题:

Because pretty_dio_logger >=1.0.9 <1.2.0-beta depends on dio >=2.1.9 <=3.1.0 and ushangxie_flutter_app depends on dio 4.0.6, pretty_dio_logger >=1.0.9 <1.2.0-beta is forbidden.
So, because ushangxie_flutter_app depends on pretty_dio_logger 1.1.1, version solving failed.
pub get failed (1; So, because ushangxie_flutter_app depends on pretty_dio_logger 1.1.1, version solving failed.)
解决:把pretty_dio_logger设置为1.2.0-beta版本即可

问题:

Because file_picker 5.2.0+1 depends on win32 ^3.0.0 and device_info_plus_windows >=3.0.0 <4.1.0 depends on win32 ^2.7.0, file_picker 5.2.0+1 is incompatible with device_info_plus_windows >=3.0.0 <4.1.0.
And because device_info_plus >=4.0.1 <4.0.2 depends on device_info_plus_windows ^3.0.1, file_picker 5.2.0+1 is incompatible with device_info_plus >=4.0.1 <4.0.2.
So, because ushangxie_flutter_app depends on both device_info_plus 4.0.1 and file_picker 5.2.0+1, version solving failed.
pub get failed (1; So, because ushangxie_flutter_app depends on both device_info_plus 4.0.1 and file_picker 5.2.0+1, version solving failed.)
解决:把device_info_plus设置为4.1.3即可解决
如果不清楚依赖关系,可以去GitHub上找到最新的版本,两个插件都放最新的版本即可解决。
END.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是一个简单的聊天界面的Flutter代码示例: ```dart import 'package:flutter/material.dart'; class ChatScreen extends StatefulWidget { @override _ChatScreenState createState() => _ChatScreenState(); } class _ChatScreenState extends State<ChatScreen> { TextEditingController _textController = TextEditingController(); List<String> _messages = []; void _handleSubmitted(String text) { _textController.clear(); setState(() { _messages.insert(0, text); }); } Widget _buildTextComposer() { return Container( margin: EdgeInsets.symmetric(horizontal: 8.0), child: Row( children: [ Flexible( child: TextField( controller: _textController, onSubmitted: _handleSubmitted, decoration: InputDecoration.collapsed(hintText: "Send a message"), ), ), IconButton( icon: Icon(Icons.send), onPressed: () => _handleSubmitted(_textController.text), ), ], ), ); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Chat Room"), ), body: Column( children: [ Flexible( child: ListView.builder( padding: EdgeInsets.all(8.0), reverse: true, itemCount: _messages.length, itemBuilder: (BuildContext context, int index) { return Text(_messages[index]); }, ), ), Divider(height: 1.0), Container( decoration: BoxDecoration( color: Theme.of(context).cardColor, ), child: _buildTextComposer(), ), ], ), ); } } ``` 在这个例子中,我们使用了`TextEditingController`来处理用户输入的文本,并将新消息入到`_messages`列表的开头。然后,我们使用`ListView.builder`来显示所有消息,并使用`IconButton`来发送新消息。最后,我们将这些小部件组合在一起,构建一个具有聊天界面的Scaffold。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

明似水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值