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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/84000.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用fiddler正向代理前端请求到本地后端

前景:在实际开发测试环境中,(前后端均已上线到测试服务器或前端以上线而后端还在开发中)。在测试过程中(前端页面点击,功能测试)发现了bug或异常点。 正常排查问题可能是先利用浏览器检查工具查看接口的返回…

Redis 面试题

Redis 面试题 Q:Redis有哪些优势? 速度快,因为数据存在内存中支持丰富数据类型,支持string,list,set,sorted set,hash支持事务,操作都是原子性,所谓的原子性就是对数据…

交换机端口镜像详解

交换机端口镜像是一种网络监控技术,它允许将一个或多个交换机端口的网络流量复制并重定向到另一个端口上,以便进行流量监测、分析和记录。通过端口镜像,管理员可以实时查看特定端口上的流量,以进行网络故障排查、安全审计和性能优…

Vue.js vs React:哪一个更适合你的项目?

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

[NLP] LLM---<训练中文LLama2(五)>对SFT后的LLama2进行DPO训练

当前关于LLM的共识 大型语言模型(LLM)使 NLP 中微调模型的过程变得更加复杂。最初,当 ChatGPT 等模型首次出现时,最主要的方法是先训练奖励模型,然后优化 LLM 策略。从人类反馈中强化学习(RLHF&#xff09…

优化系统报错提示信息,提高人机交互(一)

1、常规报错及处理 package com.example.demo.controller;import com.example.demo.service.IDemoService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.w…

【JAVA】idea初步使用+JDK详细配置

1、官方下载idea 官网:Download IntelliJ IDEA – The Leading Java and Kotlin IDE (1)、下载教程 我下载没截屏,详细教程请看 原文:手把手教你JDKIDEA的安装和环境配置_idea配置jdk_快到锅里来呀的博客-CSDN博客 2、启动项目时候需要配置J…

Spring事件机制之ApplicationEvent

博主介绍:✌全网粉丝4W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

全栈性能测试工具:RunnerGo

随着自动化测试技术的不断进步,自动化测试已成为企业级应用的重要组成部分。然而,传统的性能测试工具往往复杂、繁琐,让企业陷入了两难的境地。软件测试正逐渐从手动测试向自动化测试转变,各种自动化测试工具和框架层出不穷&#…

手撕 LFU 缓存

大家好,我是 方圆。LFU 的缩写是 Least Frequently Used,简单理解则是将使用最少的元素移除,如果存在多个使用次数最小的元素,那么则需要移除最近不被使用的元素。LFU 缓存在 LeetCode 上是一道困难的题目,实现起来并不…

【Godot】解决游戏中的孤立/孤儿节点及分析器性能问题的分析处理

Godot 4.1 因为我在游戏中发现,越运行游戏变得越来越卡,当你使用 Node 节点中的 print_orphan_nodes() 方法打印信息的时候,会出现如下的孤儿节点信息 孤儿节点信息是以 节点实例ID - Stray Node: 节点名称(Type: 节点类型) 作为格式输出&a…

腾讯mini项目-【指标监控服务重构】2023-08-23

今日已办 进度和问题汇总 请求合并 feature/venus tracefeature/venus metricfeature/profile-otel-baserunner-stylebugfix/profile-logger-Syncfeature/profile_otelclient_enable_config 完成otel 开关 trace-采样metrice-reader 已经都在各自服务器运行,并接入…

创造性地解决冲突

1、冲突的根本原因是矛盾双方存在不可调和的目标冲突。 2、要知己知彼: 知己:就是对自己的问题、需求进行客观定义,说明需求和问题的意义或价值、阐述解决方案和期望效果; 知彼:站在对方立场,深挖对方真…

根据3d框的八个顶点坐标,求他的中心点,长宽高和yaw值(Python)

要从一个3D框的八个顶点求出它的中心点、长、宽、高和yaw值,首先需要明确框的几何形状和坐标点的顺序。通常这样的框是一个矩形体(长方体),但其方向并不一定与坐标轴平行。 以下是一个步骤来解决这个问题: 求中心点&a…

Unity Bolt UGUI事件注册方式总结

Bolt插件提供了丰富的事件注册方式,开发者几乎不用编写任何代码就可以完成事件的注册,进行交互。下面是我使用UI事件注册的相关总结。 1、通过UI控件自身拖拽实现事件的注册。 Button的事件注册: 新建一个UnityEvent事件, Butt…

Kafka消费者组重平衡(二)

文章目录 概要重平衡通知机制消费组组状态消费端重平衡流程Broker端重平衡流程 概要 上一篇Kafka消费者组重平衡主要介绍了重平衡相关的概念,本篇主要梳理重平衡发生的流程。 为了更好地观察,数据准备如下: kafka版本:kafka_2.1…

nodejs定时任务

项目需求: 每5秒执行一次,多个定时任务错开,即cron表达式中斜杆前带数字,例如 ‘1/5 * * * * *’定时任务准时,延误低 搜索了nodejs的定时任务,其实不多,找到了以下三个常用的: n…

OpenCV中的HoughLines函数和HoughLinesP函数到底有什么区别?

一、简述 基于OpenCV进行直线检测可以使用HoughLines和HoughLinesP函数完成的。这两个函数之间的唯一区别在于,第一个函数使用标准霍夫变换,第二个函数使用概率霍夫变换(因此名称为 P)。概率版本之所以如此,是因为它仅分析点的子集并估计这些点都属于同一条线的概率。此实…

2D游戏开发和3D游戏开发有什么不同?

2D游戏开发和3D游戏开发是两种不同类型的游戏制作方法,它们之间有一些显著的区别: 1. 图形和视觉效果: 2D游戏开发: 2D游戏通常使用二维图形,游戏世界和角色通常在一个平面上显示。这种类型的游戏具有平面的外观&…

数据仓库模型设计V2.0

一、数仓建模的意义 数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储起来之后,数据才能得到高性能、低成本、高效率、高质量的使用。 高性能:良好的数据模型能够帮助我们快速查询…