【Flutter】Flutter安装和配置(mac)

devtools/2024/9/20 7:15:38/ 标签: flutter, macos

1、准备工作

  1. 升级Macos系统为最新系统
  2. 安装最新的Xcode
  3. 电脑上面需要安装brew https://brew.sh/
  4. 安装chrome浏览器(开发web用)

flutter_7">2.、下载flutter

https://docs.flutter.dev/release/archive?tab=macos
大家网页后,选择对应的版本【Tips: 查看自己的mac系统版本 ----->终端运行uname -a,看最后是arm还是x86】
下载完成后解压;我是新建了一个文件夹flutter_sdk用来存放解压的sdk文件;

3、配置fluuter环境变量

把 Flutter安装目录的bin目录配置到环境变量,然后把Flutter国内镜像也配置到环境变量里面
https://doc.flutterchina.club/setup-macos/

  1. 控制台输入vm .bahs_profile编辑文件,按i进入编辑模式;PATH_TO_FLUTTER_GIT_DIRECTORY/flutter/bin替换成刚解压的目录;【直接把bin文件夹拖到终端就可以看到文件目录】
vim ~/.bash_profile
vim ~/.zshrcexport PUB_HOSTED_URL=https://pub.flutter-io.cn //国内用户需要设置
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn //国内用户需要设置
export PATH=PATH_TO_FLUTTER_GIT_DIRECTORY/flutter/bin:$PATH

让配置环境变量生效

source ~/.bash_profile 
source ~/.zshrc

flutter_doctor__31">4、运行flutter doctor 命令检测环境

在这里插入图片描述
第一个❌ 是因为没安装Android sdk 暂时先忽略
第二个❌是没安装xcode,安装最新的xcode

5、配置Flutter Xcode Ios环境

  1. 如果电脑上面没有安装 brew的话首先第一步需要安装brew
    https://brew.sh/
    终端执行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 执行
brew install cocoapods 
pod setup sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer 
sudo xcodebuild -runFirstLaunch

在这里插入图片描述
在这里插入图片描述
3. 再次执行 flutter doctor
在这里插入图片描述
原因是xcode中没安装模拟器:
打开 Xcode,在顶部菜单栏选择 “Window” -> “Devices and Simulators”。
在打开的窗口中,选择 “Simulators” 标签。
在左下角,点击 “+” 图标来创建一个新的模拟器。
在弹出的对话框中,你可以选择你想要的设备类型和 iOS 版本。然后给模拟器取一个名称,最后点击 “Create”。
在这里插入图片描述

暂时先这样,后续在记录安装安卓sdk的问题~

6、安装Android studio

从https://developer.android.com/studio?hl=zh-cn下载并安装 Android Studio。下载的软件选择取决于你的电脑芯片

第一步:安装sdk

安装完成后,打开软件,选择preferences,输入sdk,选择 Android sdk 安装;

flutter_doctor_72">第二步:运行flutter doctor

在这里插入图片描述
第一个❌:
cmdline-tools component is missing
打开android studio,preference->android sdk
在这里插入图片描述
勾选之后,选择apply,等待安装完成;再次控制台输入flutter doctor
在这里插入图片描述

这个提示代表Android 许可证状态未知,让我们运行flutter doctor --android-licenses来解决。

按照提示执行

flutter doctor --android-licenses

一直回车即可,选择y

在这里插入图片描述

参考链接


http://www.ppmy.cn/devtools/108822.html

相关文章

C++复习day05

类和对象 1. 面向对象和面向过程的区别是什么?(开放性问题) 1. **抽象级别**:- **面向对象**:以对象(数据和方法的集合)为中心,强调的是数据和行为的封装。- **面向过程**&#xf…

单一职责原则介绍

一.概念介绍 单一职责原则(Single Responsibility Principle, SRP)是面向对象设计中的五大基本原则之一,它是指一个类或者模块应该仅有一个引起它变化的原因。 具体来说,单一职责原则有以下几个特点: 职责集中:一个类或模块应该专注于完成一种特定的功能或职责,而不应该承担过…

力扣9.7

115.不同的子序列 题目 给你两个字符串 s 和 t &#xff0c;统计并返回在 s 的 子序列 中 t 出现的个数&#xff0c;结果需要对 109 7 取模。 数据范围 1 < s.length, t.length < 1000s 和 t 由英文字母组成 分析 令dp[i][j]为s的前i个字符构成的子序列中为t的前j…

ArrayList,Vector, LinkedList 的存储性能和特性

1. ArrayList ArrayList 是基于动态数组实现的列表。在底层&#xff0c;它使用一个数组来存储元素&#xff0c;并在需要时自动扩容。这种设计使得 ArrayList 在进行按索引访问时性能非常高&#xff0c;但在插入和删除操作上可能表现不如链表。 1.1 特性 动态扩容&#xff1a…

Linux 递归删除大量的文件

一般情况下 在 Ubuntu 中&#xff0c;递归删除大量文件和文件夹可以通过以下几种方式快速完成。常用的方法是使用 rm 命令&#xff0c;配合一些适当的选项来提高删除速度和效率。 1. 使用 rm 命令递归删除 最常见的方式是使用 rm 命令的递归选项 -r 来删除目录及其所有内容。…

MySQL数据库的SQL注入漏洞解析

说明:本文仅是用于学习分析自己搭建的SQL漏洞内容和原理,请勿用在非法途径上,违者后果自负,与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其相关法规内容【学法时习之丨网络安全在身边一图了解网络安全法_中央网络安全和信息化委员会办公室】 …

什么是大数据、有什么用以及学习内容

目录 1.什么是大数据&#xff1f; 2.大数据有什么用&#xff1f; 2.1商业与营销&#xff1a; 2.2医疗与健康&#xff1a; 2.3金融服务&#xff1a; 2.4政府与公共服务&#xff1a; 2.5交通与物流&#xff1a; 2.6教育与个性化学习&#xff1a; 3.学习大数据需要学习哪…

Elasticsearch - SpringBoot 索引与文档相关demo

文章目录 前言Elasticsearch - SpringBoot 索引与文档相关demo1. _cat/* 相关API2. 查看所有索引3. 创建索引4. 检索索引5. 删除索引6. 新增文档7. 更新文档8. 根据索引中的文档 ID 查询文档9. 删除文档前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作…

电脑驱动分类

电脑驱动程序&#xff08;驱动程序&#xff09;是操作系统与硬件设备之间的桥梁&#xff0c;用于使操作系统能够识别并与硬件设备进行通信。以下是常见的驱动分类&#xff1a; 1. 设备驱动程序 显示驱动程序&#xff1a;控制显卡和显示器的显示功能&#xff0c;负责图形渲染和…

Windows 11安装nvm教程

1、nvm是什么 nvm 全名 node.js version management&#xff0c;是一个 nodejs 的版本管理工具。通过它可以安装和切换不同版本的 nodejs&#xff0c;主要解决 node 各种版本存在不兼容现象。   在工作中&#xff0c;我们可能同时在进行2个或者多个不同的项目开发&#xff0…

数据结构:线性表的顺序存储

文章目录 &#x1f34a;自我介绍&#x1f34a;线性表的顺序存储介绍概述例子 &#x1f34a;顺序表的存储类型设计设计思路类型设计 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏&#xff08;一键四连&#xff09;哦~ &#x1f34a;自我…

c++ 析构函数详解

C 中的析构函数用于在对象生命周期结束时执行清理任务&#xff0c;如释放内存、关闭文件或其他资源。析构函数是类的一部分&#xff0c;确保对象在销毁时能够正确地清理自身。 1. 析构函数的基本语法 析构函数的定义与构造函数类似&#xff0c;但它以波浪号 ~ 开头&#xff0…

AI学习指南深度学习篇-带动量的随机梯度下降法简介

AI学习指南深度学习篇 - 带动量的随机梯度下降法简介 引言 在深度学习的广阔领域中&#xff0c;优化算法扮演着至关重要的角色。它们不仅决定了模型训练的效率&#xff0c;还直接影响到模型的最终表现之一。随着神经网络模型的不断深化和复杂化&#xff0c;传统的优化算法在许…

Linux网络测试和故障排查命令

文章目录 ping 命令常用选项&#xff1a;使用示例&#xff1a;域名解析和 IP 地址响应数据停止 ping 命令统计数据延迟统计 traceroute 命令常用选项&#xff1a;使用示例&#xff1a;命令执行&#xff1a;路由节点详情&#xff1a; mtr 命令使用示例&#xff1a;使用结果详解输…

冒泡排序——基于Java的实现

简介 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单的排序算法&#xff0c;适用于小规模数据集。其基本思想是通过重复遍历待排序的数组&#xff0c;比较相邻的元素并交换它们的位置&#xff0c;以此将较大的元素逐步“冒泡”到数组的末尾。算法的名称源于其运行过程…

HBase

Apache HBase 是一个基于 Hadoop 分布式文件系统&#xff08;HDFS&#xff09;构建的分布式、面向列的 NoSQL 数据库&#xff0c;主要用于处理大规模、稀疏的表结构数据。HBase 的设计灵感来自 Google 的 Bigtable&#xff0c;能够在海量数据中提供快速的随机读写操作&#xff…

分类与回归的区别

分类和回归的详细区别如下&#xff1a; 目标变量类型: 分类: 目标变量是离散的&#xff0c;分为若干类别。例如&#xff0c;邮件分类为“垃圾邮件”或“正常邮件”。 回归: 目标变量是连续的&#xff0c;通常是一个数值。例如&#xff0c;预测房价或气温。 输出结果: 分类:…

前端工程化2:从0到1的eslint插件开发教程

从0-1的eslint插件开发教程 开发eslint插件目的&#xff1a;根据项目需要&#xff0c;自定义满足项目特殊需要的校验规则是 参考eslint官方文档展开阐述 插件开发 自定义规则 单元测试 下面开始通过一个示例demo来介绍插件整个开发流程 代码中出现的方法及变量的详细解释与…

PHP一键发起灵活定制多功能投票小程序系统源码

​一键发起&#xff0c;灵活定制 —— 多功能投票小程序 &#x1f680;【开篇&#xff1a;告别繁琐&#xff0c;投票新体验】&#x1f680; 还在为组织投票活动而头疼不已吗&#xff1f;繁琐的流程、有限的选项、难以统计的结果...这些都将成为过去式&#xff01;今天&#x…

python---爬取QQ音乐

如Cookie为非vip&#xff0c;仅能获取非vip歌曲 1.下载包 pip install jsonpath 2.代码 import os import time import requests from jsonpath import jsonpathdef search_and_download_qq_music(query_text):headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; …