macOS 上安装和配置 Flutter 开发环境

news2024/9/29 13:31:55

本文基于此: Flutter中文网

一、安装和运行Flutter的系统环境要求

想要安装并运行 Flutter,你的开发环境需要最低满足以下要求:

  • 操作系统:macOS
  • 磁盘空间:2.8 GB(不包括IDE/tools的磁盘空间)。
  • 工具:Flutter使用git进行安装和升级。我们建议安装Xcode,其中包括git,但你也可以单独安装git。

重点提醒
如果你要在 Apple 芯片的 Mac 电脑 上使用,你还需要安装 Rosetta 2 环境因为 一些辅助工具 仍然需要,你可以通过手动运行下面的命令来安装:

sudo softwareupdate --install-rosetta --agree-to-license

二、获取 Flutter SDK

点击 https://flutter.cn/docs/get-started/install/macos 这个链接下, 滑动到如图所示位置
在这里插入图片描述
根据自己的电脑芯片来决定下载那个版本。 点此查看全部的SDK版本列表

三、解压 SDK

默认下载下来的SDK包会被放置到下载目录 ~/Downloads 下, 可使用如下命令,将SDK包解压到指定位置

#我将flutter sdk放到了 “文稿”目录下,位置自定
cd ~/Documents

#解压
unzip ~/Downloads/flutter_macos_3.3.10-stable.zip

解压后的目录如下:
在这里插入图片描述

四、配置 Flutter 的 PATH 环境变量 (永久生效)

由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,以下前两行这是我在官网直接复制来的镜像地址

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

Flutter的环境变量

export FLUTTER_HOME=~/Documents/flutter
export PATH=$FLUTTER_HOME/bin:$PATH
  • 第一步:打开终端, 输入 vim ~/.bash_profile

  • 2.第二步
    1.按下键盘上的i,进入插入/编辑模式,
    2.把上面那四个经过你修改后的变量,粘贴到窗口里。
    3.粘贴完之后,按esc退出插入模式。键入以下内容:wq用于保存并退出当前窗口

  • 第三步:刷新当前命令行窗口

    source ~/.bash_profile
    
  • 第四步:验证flutter/bin是否已添加到环境变量中以及flutter命令是否可用

    echo $PATH
    

    验证 flutter 命令是否可用,可以执行下面的命令检测:

    which flutter
    

五、运行 flutter doctor 命令

通过运行以下命令来查看当前环境是否需要安装其他的依赖(如果想查看更详细的输出,增加一个-v参数即可):

flutter doctor -v

这个命令会检查你当前的配置环境,并在命令行窗口中生成一份报告。安装 Flutter 会附带安装 Dart SDK,所以不需要再对 Dart 进行单独安装。你需要仔细阅读上述命令生成的报告,看看别漏了一些需要安装的依赖,或者需要之后执行的命令(这个会以 加粗的文本 显示出来)。

比如你可能会看到下面这样的输出:

[-] Android toolchain - develop for Android devices
• Android SDK at /Users/obiwan/Library/Android/sdk
✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
• Try re-installing or updating your Android SDK,
visit https://flutter.cn/docs/setup/#android-setup for detailed instructions.

六、总结

通过如上步骤一步步操作下来后,一般情况下我们就完成了对Flutter的安装与环境配置。 如果在此过程中出现了任何问题,都可以在评论区给我留言。

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

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

相关文章

vue3中的写法以及,一些语法糖

vue3新增setup,属性执行比 created更早,同时setup中this不会指向实例)这个方法在onBeforeMounted之前被调用。定义数据需要在数据前面加ref,ref在vue3中是将数据转换成响应式数据结构的一种,因为vue3中没有了data(){ },那么就没办法劫持数据做…

PDF拆分成多个页面怎么办?这三个方法让你实现将文件拆分成多页

PDF是我们常见的文件格式之一,在日常办公中,我们经常会将WORD、PPT、EXCEL等文档转换成PDF的格式后再进行传输,这样不仅传输速度快,格式也不会出现乱码的情况,但在一些特殊的场景下,我们也需要将一份完整的…

Allegro174版本新功能介绍之锁定菜单栏设置

Allegro174版本新功能介绍之锁定菜单栏设置 用Allegro设计的时候,经常因为切换了Symphony team design模式导致菜单栏变化,使用的时候又需要重新去调用一次,十分麻烦 但是在Allegro升级到了174的时候,有一个锁定菜单栏的功能 具体操作如下 选择Setup选择User Prefrences

代谢组学喜讯|百趣生物与金域医学达成代谢组学战略合作

2023年1月4日,上海百趣生物医学科技有限公司(“百趣生物”)与广州金域医学检验集团股份有限公司(“金域医学”)在广州举行战略合作签约仪式。双方将在代谢组学科研服务和临床转化方面进行深度合作,共同致力…

2022年餐饮连锁行业研究报告

第一章 行业概况 餐饮连锁是餐饮的一种发展模式,指餐饮企业通过连锁经营和特许经营的方式进行扩张。根据商务部发布的《特许经营管理办法》:连锁企业必须具备2店1年才有出售特许经营权的权利。餐饮连锁是餐饮业发展到一定程度时的一个必然的产物&#x…

深度学习入门之ResNet食物图像分类

前言 参加了华为一个小比赛第四届MindCon-爱(AI)美食–10类常见美食图片分类,本来想实践机器学习课程的知识,后来发现图像分类任务基本都是用神经网络做,之前在兴趣课上学过一点神经网络但不多,通过这样一…

Android UI界面刷新机制

一 前言 作为严重影响 Android 口碑问题之一的 UI 流畅性差的问题,首先在 Android 4.1 版本中得到了有效处理。其解决方法即在 4.1 版本推出的 Project Butter。Project Butter 对 Android Display系统进行了重构,引入三个核心元素:VSYNC、T…

nmake文件学习记录(一)看《跟我一起写Makefile》

1、陈皓《跟我一起写Makefile》 makefile 带来的好处就是——“自动化编译”,一旦写好,只需要一个make 命令,整个工程完全自动编译,极大的提高了软件开发的效率。 make 是一个命令工具,是一个解释makefile 中指令的命…

线程池(ThreadPoolExecutor)

文章目录一、线程池标准库提供的线程池ThreadPoolExecutor自定义线程池一、线程池 为什么要引入线程池? 这个原因我们需要追溯到线程,我们线程存在的意义在于,使用进程进行并发编程太重了,所以引入了线程,因为线程又称为 “轻量…

【知识图谱导论-浙大】第三、四章:知识图谱的抽取与构建

前文: 【知识图谱导论-浙大】第一章:知识图谱概论 【知识图谱导论-浙大】第二章:知识图谱的表示 说明:原视频中的第三章主要介绍了图数据库相关的内容,有兴趣的可以查看相关课件或者对应的视频: 【知识图…

[Linux理论基础1]----手写和使用json完成[序列化和反序列化]

文章目录前言一、应用层二、再谈"协议"三、 网络版计算器手写版本使用第三方库json实现完整代码总结前言 理解应用层的作用,初始HTTP协议;理解传输层的作用,深入理解TCP的各项特性和机制;对整个TCP/IP协议有系统的理解;对TCP/IP协议体系下的其他重要协议和技术有一定…

JPG格式如何转为PDF格式?快来学习如何转换

图片是我们经常用到的一种便携式文件,像我们日常的照片或者是一些学习资料、工作资料都是图片形式的,我们经常会把这些图片发送给其他人,这时候就需要想一个简单的办法把图片一次性发送过去,所以我们可以将图片转换为PDF文件&…

暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”

文章目录暨 广告、推荐、搜索 三大顶级复杂业务之 “广告业务系统详叙”广告系统的核心功能ADX 架构流程概述典型 ADX 架构图概述消息中心抱歉,有段日子没码字了,后面会尽量补出来分享给大家。这段时间整理了关于 “广告业务” 相关的思考,作…

OSPF笔记(五):OSPF虚链路--普通区域远离骨干区域

一、OSPF 虚链路 1.1 虚链路邻居关系: hello包只发送一次,没有dead时间 虚链路配置邻居指的是RID,非接口IP 1.2 虚链路解决的问题: 普通区域远离骨干区域0的问题 普通区域连接两个骨干区域0问题 (1)…

SpringSecurity授权功能快速上手

3. 授权 3.0 权限系统的作用 例如一个学校图书馆的管理系统,如果是普通学生登录就能看到借书还书相关的功能,不可能让他看到并且去使用添加书籍信息,删除书籍信息等功能。但是如果是一个图书馆管理员的账号登录了,应该就能看到并…

最新款发布 | 德州仪器(TI)60G单芯片毫米波雷达芯片 -xWRL6432

本文编辑:调皮哥的小助理 概述 最近,德州仪器(TI)推出了单芯片低功耗 57GHz 至 64GHz 工业(汽车)毫米波雷达传感器IWRL6432,具有 7GHz 的连续带宽,可实现更高分辨率。除了UWB雷达之外,IWRL6432目前是毫米波雷达带宽最…

漏洞挖掘-不安全的HTTP方法

前言: 年关将至,这可能是年前最后一篇文章了。已经有一段时间没有更新文章了,因为最近也没有学到什么新的知识,也就没什么可写的,又不想灌水。最近关注的好兄弟们多了很多,在这里也是十分感谢大家的支持&am…

Make RepVGG Greater Again | 中文翻译

性能和推理速度之间的权衡对于实际应用至关重要。而重参化可以让模型获得了更好的性能平衡,这也促使它正在成为现代卷积神经网络中越来越流行的架构。尽管如此,当需要INT8推断时,其量化性能通常太差,无法部署(例如Imag…

SQL BETWEEN 操作符

BETWEEN 操作符用于选取介于两个值之间的数据范围内的值。 SQL BETWEEN 操作符 BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。 SQL BETWEEN 语法 SELECT column1, column2, ... FROM table_name WHERE column BETWEEN value1 AND va…

力扣714题 买卖股票的最佳时机含手续费

class Solution {public int maxProfit(int[] prices, int fee) {// 买第一天股票所需要的全部费用(买入)int buy prices[0] fee; // 利润总和int sum 0;for(int p:prices){// 如果买后些天的股票所需的全部费用比第一天的少,就买后边这天的(买入)if(p fee < buy){buy …