文章目录

  • 前言
  • 前置条件
  • 依赖准备
  • 下载安装包
  • 体验

前言

最近看了IOS和OC相关内容,基本七七八八了,本来打算入手一个Mac mini的,奈何实在肉疼,且AS尚且没有完全兼容M1芯片,又不想折腾黑苹果,遂作罢.涉猎一下Swift.

苹果早就把Swift开源了,成为一门跨平台的语言,个中深意,不明所以,但是终于不用肉疼体验一下苹果的东西,还是要尝试一下.

先在简书上看了一下这篇文章,大概知道了是什么一个调调,尽管本来在Linux上搭建Swift环境,相当简单,本身没啥可说的,但是好多博客,用虚拟机折腾半天,好生复杂,相对来说,下面博主的信息更加有效密集些.

传送门

前置条件

本人是Deepin Linux 15.11, 是深度20版本前的绝唱,作为主力开发机器,使用了两年多了,稳定的一批.官网上瞅了一眼平台支持情况,发现苹果的Linux支持,只提到了Ubuntu官网支持,但是作为Linuxer,或者Deeper,不要慌,Deepin和Ubuntu是同源的,都是基于Debian.况且在下载页有关Linux版本单据介绍中,特别提到了其他Linux版本的问题:

在其他Linux发行版上,没有任何安装使用Swift的限制,只不过Ubuntu的版本,是苹果构建和测试过的.至于深度的系统,直接拿过来用就行了.

依赖准备

这是这篇文章唯一价值所在了,其他的按照官网的来就可以了.深度15.11都需要安装哪些依赖呢?或者你如果用的是非Ubuntu其他发行版本,都需要哪些依赖呢?
按照Getting Start中的解释说明,不同的Ubuntu版本,需要不同的依赖:

一上来,还真不知道能用哪个版本.因为Deepin15.11已经是比较老的版本了,所以,决定从16.04需要的环境,测试下我的系统能不能使用16.06的Swift,用到的命令是dpkg -l
例如,需要检查git是否安装:
命令行中输入dpkg -l | grep git
如果输入结果中有下面一行,就说明git安装了(ii,是预期的情况是安装,实际情况是已经安装,详情百度下dpkg命令输出结果的含义),符合依赖条件,其他的用同样的方法检查.需要的依赖里,有版本号的,对比一下需要的版本号和自己本机的版本号,不比需求的版本号低就可以.

我的机器,在检查libcurl时,检查出的本地版本号是3,而18.04需要的是libcurl4,那铁定了,我的机器安装16.04的一点问题也没有.

然后把其他依赖检查完,如果缺少依赖,自行安装,安装的环境准备工作就算完成了.

下载安装包

下载页中的下载链接还是挺唬人的:

红框中的链接都能下载,一开始我还以为是两个东西呢,隐隐感觉配置起来会有点小复杂,结果这俩链接是下载同样一个文件,那就简单了,不就跟配置JDK一样简单了吗?Linux常用开发环境配置
下载完成,解压到你想放的目录,在/etc/profile配置文件末尾,加上如下一行,配置环境变量:

#swift
export PATH=替换成你的解压目录/usr/bin:"${PATH}"

注销系统,重新加载环境变量.

体验

体验下交互式的Swift编程,这不跟python一个调调吗:

然后按照Getting Start分别体验一下创建Package和可执行程序,我去,这不跟Flutter创建项目一样吗?然后又看了下声明变量的方式,我去,这不跟Kotlin一样吗?

呃,果然,天下语言一大包,就看会抄不会抄~~~~~~~~~~

老牛知点所以然-Deepin Linux搭建Swift开发环境相关推荐

  1. Linux搭建Kafka开发环境

    Linux搭建Kafka开发环境 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它 ...

  2. Linux搭建安卓开发环境

    Linux下搭建Android开发环境 为什么要在Linux搭建开发环境呢?从直观来说,Android虚拟机在Linux下运行速度更快,而且性能更稳定. 我使用的Linux环境是ubuntu-10.1 ...

  3. linux搭建java开发环境_linux中搭建java开发环境

    今天试着在Linux下面搭建java开发环境,现总结一下具体步骤. 1.JDK的安装1.6 版本 cd /opt mkdir java 执行下面命令安装JDK(首先创建/opt/java目录) tar ...

  4. lazarus 编译linux,在linux deepin 中搭建Lazarus 开发环境

    Lazarus是一个用于FreePascal的快速应用开发(RAD)的面向对象的Pascal集成开发环境(IDE).Lazarus 对于窗口管理来说是中性的.可以工作在KDE(1.13版本)下,也可以 ...

  5. win10下用Linux搭建pythonnodejs开发环境

    Win10下用自带Linux系统搭建开发环境 Win10下用自带Linux系统搭建开发环境 启用Linux 老版本(win10 1709之前): 新版本(win10 1709之后) 卸载linux 老 ...

  6. Linux搭建PHP5开发环境

    没学过php,今天周末正好有时间就拿来耍耍,先配置个基本的开发环境,之后再做打算.有童鞋就说了,这么简单的配置,哪个不会哦,确实!由于平时习惯了记录,既然记录了,那就拿出来分享.不管是拍砖还是捧场,我 ...

  7. Linux搭建PHP开发环境

    集百家之所长搭建的PHP环境 文章目录 集百家之所长搭建的PHP环境 1安装SSH和Xftp 2安装宝塔面板 3安装Mysql 4 安装Apache PHP 安装 配置Apache 至此环境搭建成功 ...

  8. Linux搭建python开发环境

    Linux自带python2,但之前Python 核心团队numpy计划在 2020 年停止支持 Python 2,所以自己动手搭建python3的开发环境 下载 wget https://www.p ...

  9. Linux安装Swift开发环境

    为什么80%的码农都做不了架构师?>>>    #安装clang编译器 sudo apt-get install clang #下载Swift ##下载地址与说明 Swift下载地址 ...

最新文章

  1. python安装教程mac-Mac 安装python 3.*新版本的详细步骤
  2. UIKeyboardTypeNumberPad 数字键盘添加完成按钮
  3. 宁波机器人餐厅需要预约吗_拍婚纱照需要预约吗 预约婚纱照需要注意哪些问题...
  4. Python线程、进程知识整理
  5. Python——web.py模块错误【UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xab in position 285】解决方案
  6. plsql 中的记录型变量和引用型变量
  7. CAT arguments dimensions are not consistent.CAT参数的维度不一致。
  8. python发送邮箱_你知道怎么用Python发送邮件吗?
  9. 一元享移动怎么样_中国移动放大招!月租9元享200GB流量,网友:这套路谁敢用?...
  10. 【Windows】XShell中使用小键盘和ALT键(作Meta键),使BackSpace正常
  11. 大一笔记本电脑有用没?大一新生买什么笔记本电脑好?
  12. mate10支持html,华为Mate 10再曝光:配置强劲,全面屏十分惊艳
  13. 数据:以太坊2.0合约余额新增1.52万ETH
  14. php variables,浅析PHP原理之变量(Variables inside PHP)
  15. php radio用法,JavaScript_JQuery radio(单选按钮)操作方法汇总,随着Jquery的作用越来越大,使 - phpStudy...
  16. 网站如何优化才是成功的
  17. java基础入门(一)
  18. 金蝶K3常用数据表(整理)
  19. 什么是服务器的上行带宽和下行带宽
  20. 基于SSM框架的狼途汽车门店管理系统的设计与实现

热门文章

  1. linux 读取 SOC寄存器(物理内存)的机制方法
  2. Android开发技术周报 Issue#27
  3. python多线程爬取ts文件并合成mp4视频
  4. 4.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
  5. 计算机控制器输入设备的功能是,计算机5大部件之一的控制器的作用是什么?...
  6. 2018maya怎么加点_Maya2018新增了哪些共功能? Maya2018新功能全面预览
  7. Android的代码规范及阿里巴巴最新Java开发手册福利
  8. CL3D: Camera-LiDAR 3D Object Detection With Point Feature Enhancement and Point-Guided Fusion 阅读笔记
  9. 【苹果推iMessage】软件安装通过ApplseScript节制iMessage客户端
  10. REST接口安全认证方式对比:API Key vs OAuth令牌 vs JWT