当前位置: 首页 > news >正文

macos (M2芯片)搭建flutter环境

安装的版本3.13.4、电脑上没有安装过android studio、安装过brew

1.在终端运行sudo softwareupdate --install-rosetta --agree-to-license,下图展示安装成功的效果

在这里插入图片描述

2.下载以下安装包来获取最新的 stable Flutter SDK

在这里插入图片描述

3.解压,⚠️注意下载安装sdk的包名可能和文档名字不一样注意修改

选择自己的文件夹,切换目录到选择的文件夹下面
在这里插入图片描述
需要根据官网配置一下flutter环境变量

3.1配置flutter环境变量 如果只配置下面三项,第一项不配置还是会显示找不到flutter命令
vim ~/.bash_profile
export FLUTTER_ROOT=你的flutter安装目录//注意我的是只配置下面不太行
export PATH=你的flutter安装目录/bin:$PATH
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

如果还不行,就去网上搜索一下吧

4.运行flutter doctor出现下面报错问题

在这里插入图片描述

4.1android studio开发环境搭建

1)需要去下载android sdk 安装android studio,选择custom一路next
2)安装完之后再次运行 flutter doctor ,出现下面的错误
在这里插入图片描述
3)打开Android studio 找到如下设置、安装command-line(可能下载的版本不一样位置也不一样,可以网上搜一下)
在这里插入图片描述
4)再次执行flutter doctor
在这里插入图片描述
5)执行下面命令,然后会出现多次选项,你只要输入y就可以了

flutter doctor --android-licenses

6)再次执行flutter doctor ,至此,android studio 开发环境搭建完成✅
在这里插入图片描述

4.2 解决CocoaPods not installed. 🔗安装教程

1)CocoaPods的安装需要Ruby环境,Mac系统都自带Ruby,通过终端命令查看Ruby版本:

ruby -v

⚠️注意:安装时候ruby的版本是2.6以上的但是最后进行安装的时候还是出现了版本不够的问题,根据自己需要
2)更换Ruby镜像
Ruby默认的源地址是国外网络地址,通过下面终端命令查看当前镜像地址:

gem sources -l

在这里插入图片描述
3)移除当前镜像

gem sources --remove https://rubygems.org/

在这里插入图片描述
4)添加国内ruby镜像

gem sources -a https://gems.ruby-china.com/

在这里插入图片描述

5)检查镜像是国内镜像,开始安装CocoaPods、踩坑开始

sudo gem install cocoapods 

在这里插入图片描述

6)可能遇到版本过低或者没有权限,可以尝试把sudo去掉 在后面添加 --user-install, 不好用,不建议使用,试过了没有解决我的问题,如果有需要也可以尝试一下;是通过brew更新的

7)通过brew 更新ruby的版本
查看ruby的版本 ,然后安装最新版本

brew search ruby
brew install ruby@3.0

配置ruby的运行环境

echo 'export PATH="/opt/homebrew/opt/ruby@3.0/bin:$PATH"' >> ~/.zshrc
export LDFLAGS="-L/opt/homebrew/opt/ruby@3.0/lib"
export CPPFLAGS="-I/opt/homebrew/opt/ruby@3.0/include"

刷新当前shell环境

 source ~/.zshrc

8)查看已经安装的版本 (由于权限问题虽然也安装上了,但是没有解决问题,需要进行删除)

gem list --local | grep cocoapods

删除自己有关cocoapods包的内容,只是写了一个,其它没一一展示

sudo gem uninstall cocoapods-deintergate 

9)重新安装

sudo gem install -n /usr/local/bin cocoapods

在这里插入图片描述

10)运行flutter doctor,问题解决

在这里插入图片描述

4.3解决maven.goole.com报错

在这里插入图片描述

const String kMaven = 'http://maven.aliyun.com/nexus/content/groups/public/';
4.4解决github.com报错

在这里插入图片描述

git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

解决以上问题,flutter环境就搭建好了,如果还有其他问题可能就需要自行上网搜索一下
参考链接:
M1芯片搭建:https://juejin.cn/post/7035985832196440071
解决flutter更新环境变量配置问题:
https://blog.csdn.net/sunbinkang/article/details/106918956
解决4.3、4.4问题:
https://blog.csdn.net/xo19882011/article/details/131386094#:~:text=%5B%21%5D%20Network%20resources%20%E2%9C%97%20A%20cryptographic%20error%20occurred,may%20have%20malware%20installed%20on%20your%20computer.%201

相关文章:

macos (M2芯片)搭建flutter环境

安装的版本3.13.4、电脑上没有安装过android studio、安装过brew 1.在终端运行sudo softwareupdate --install-rosetta --agree-to-license,下图展示安装成功的效果 2.下载以下安装包来获取最新的 stable Flutter SDK 3.解压,⚠️注意下载安装sdk的包名…...

Xilinx FPGA未使用管脚上下拉状态配置(ISE和Vivado环境)

文章目录 ISE开发环境Vivado开发环境方式1:XDC文件约束方式2:生成选项配置 ISE开发环境 ISE开发环境,可在如下Bit流文件生成选项中配置。 右键点击Generate Programming File,选择Process Properties, 在弹出的窗口选…...

数据结构---链表(java)

目录 1. 链表 2. 创建Node 3. 增加 4. 获取元素 5. 删除 6. 遍历链表 7. 查找元素是否存在 8. 链栈的实现 9. 链队的实现 1. 链表 数据存放在"Node"结点中 优点:不用考虑扩容和缩容的问题,实现了动态存储数据 缺点:没有…...

Qt --- Day02

实现效果: 点击登录,检验用户密码是否正确,正确则弹出消息框,点击ok转到另一个页面 不正确跳出错误消息框,默认选线为Cancel,点击Yes继续登录 点击Cancel跳出问题消息框,默认选项No&#xff0c…...

Redis 集合(Set)快速指南 | Navicat

Redis 支持通过多种数据类型来存储项目集合。其中,包括列表、集合和哈希。上周的博文介绍了列表(List)数据类型并重点介绍了一些用于管理列表(List)的主要命令。在今天的文章中,我们将转向关注集合&#xf…...

【华为云云耀云服务器L实例评测】- 云原生实践,快捷部署人才招聘平台容器化技术方案!

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…...

【Java】泛型 之 什么是泛型

什么是泛型 泛型是一种“代码模板”,可以用一套代码套用各种类型。 在讲解什么是泛型之前,我们先观察Java标准库提供的ArrayList,它可以看作“可变长度”的数组,因为用起来比数组更方便。 实际上ArrayList内部就是一个Object[]…...

Python yaml 详解

文章目录 1 概述1.1 特点1.2 导入 2 对象2.1 字典2.2 数组2.3 复合结构 3 操作3.1 读取3.2 写入 1 概述 1.1 特点 yaml 文件是一种数据序列化语言,广泛用于配置文件、日志文件等特点: ① 大小写敏感。② 使用缩进表示层级关系。缩进时不允许使用 Tab 键…...

RabbitMQ消息可靠性(二)-- 消费者消息确认

一、消费者消息确认是什么? 在这种机制下,消费者在接收到消息后,需要向 RabbitMQ 发送确认信息,告知 RabbitMQ 已经接收到该消息,并已经处理完毕。如果 RabbitMQ 没有接收到确认信息,则会将该消息重新加入…...

【python第7课 实例,类】

文章目录 一、实例1.1实例的变量1.2实例方法1.3 构造方法1.4析构函数1.4预置实例属性: 二,类1.1类变量1.2类方法1.3静态方法1.4类属性的增删改查 一、实例 1.1实例的变量 使用示例 class dog:def __init__(self,k,c,a):self.kinds kself.color csel…...

RocketMQ源码解析(上)

一、ACL权限控制 应用场景: ​RocketMQ提供了针对队列、用户等不同维度的非常全面的权限管理机制。通常来说,RocketMQ作为一个内部服务,是不需要进行权限控制的,但是,如果要通过RocketMQ进行跨部门甚至跨公司的合作&…...

Webpack打包CSS文件,解决You may need an appropriate loader to handle this file type报错

在项目文件夹下创建webpack.config.js文件,该文件就是Webpack的配置文件 注意:该文件中遵循Node.js的代码格式规范 ,需要对导出配置文件中的内容 Webpack在默认情况下只能打包js文件,如果我们希望他能够打包其他类型的文件&#…...

轮换对称性

二重积分 普通对称性–D关于 y x yx yx对称: ∬ D f ( x , y ) d σ { 2 ∬ D 1 f ( x , y ) d σ f ( x , y ) f ( y , x ) 0 f ( x , y ) − f ( y , x ) \iint_{D}f(x,y)d\sigma\begin{cases} 2\iint_{D_1}f(x,y)d\sigma\ \ \ \ \ \ f(x,y)f(y,x) \\ 0 \ \…...

【MySQL基础】--- 约束

个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【MySQL学习专栏】🎈 本专栏旨在分享学习MySQL的一点学习心得,欢迎大家在评论区讨论💌 目录 一、什么…...

ROS2 的行为树 — 第 1 部分:解锁高级机器人决策和控制

一、说明 在复杂而迷人的机器人世界中,行为树(BT)已成为决策过程中不可或缺的一部分。它们提供了一种结构化、模块化和高效的方法来对机器人的行为进行编程。BT起源于视频游戏行业,用于控制非玩家角色,他们在机器人领域…...

kafka事务的详解

一 kafka事务的机制 1.1 kafka的事务机制 通过事务机制,KAFKA 可以实现对多个 topic 的多个 partition 的原子性的写入,即处于同一个事务内的所有消息,不管最终需要落地到哪个 topic 的哪个 partition, 最终结果都是要么全部写成功&#xf…...

Flutter Fair逻辑动态化架构设计与实现

本文的核心内容包括: 数据逻辑处理布局中的逻辑处理Flutter类型数据处理一、数据逻辑处理 我们接触的每一个Flutter界面,大多由布局和逻辑相关的代码组成。如Flutter初始工程的Counting Demo的代码: class _MyHomePageState extends State<MyHomePage> {// 变量 int…...

【每日一题】74. 搜索二维矩阵

74. 搜索二维矩阵 - 力扣&#xff08;LeetCode&#xff09; 给你一个满足下述两条属性的 m x n 整数矩阵&#xff1a; 每行中的整数从左到右按非递减顺序排列。每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target &#xff0c;如果 target 在矩阵中&#xff0c;返…...

软件测试进大厂,拿高薪,怎么做?看这里!

有些同学大学专业不对口&#xff0c;但有想进大厂想拿高薪心&#xff0c;只要你有想法&#xff0c;那就一定有实现的方法。 俗话说&#xff1a;“世间无难事&#xff0c;只怕有心人”。仔细思索一下&#xff0c;哪家大厂能缺软件测试这一重要职位。相对大学所学专业而言&#…...

【读书笔记】基于世界500强的高薪实战Kubernetes课程

第1章 课程简介&&自我介绍 1-1 自我介绍 1-2 课程大纲内容介绍 1-3 课程更新通知 第2章 K8s必备知识-Docker容器基础入门 2-1 课程介绍 2-2 docker容器介绍 2-3 docker优缺点 2-4 安装和配置docker 2-5 修改内核参数 2-6 配置镜像加速器 2-7 配置常用镜像加…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

ios苹果系统,js 滑动屏幕、锚定无效

现象&#xff1a;window.addEventListener监听touch无效&#xff0c;划不动屏幕&#xff0c;但是代码逻辑都有执行到。 scrollIntoView也无效。 原因&#xff1a;这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作&#xff0c;从而会影响…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...