![6516b5b5efcae6cc15ad85114ab030c6.png](https://img-blog.csdnimg.cn/img_convert/6516b5b5efcae6cc15ad85114ab030c6.png)
由于最近需要学习一下Chisel,又因为Chisel是基于Scala的,所以第一步就是要先学习Scala,所以本文介绍一下macOS下的Scala开发环境的搭建。
关于Chisel的简单介绍:Chisel(Constructing Hardware In a Scala Embedded Language)是UC Berkeley开发的一种开源硬件构造语言。它是建构在Scala语言之上的领域专用语言(DSL),支持高度参数化的硬件生成器。下面是Chisel的中文社区链接。
https://www.chiselchina.comwww.chiselchina.com关于Scala的简单介绍:Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言、并集成面向对象编程和函数式编程的各种特性。下面是Scala官网的链接。
The Scala Programming Languagewww.scala-lang.org![ab75a63d9340f016e63bbb8392125874.png](https://img-blog.csdnimg.cn/img_convert/ab75a63d9340f016e63bbb8392125874.png)
系统:macOS Catalina(版本:10.15.7)
一、本地下载Scala
进入Scala官网下载,链接为https://www.scala-lang.org/download/,点击macOS版本下载
![42682835a3825e22be2be55f655e5c62.png](https://img-blog.csdnimg.cn/img_convert/42682835a3825e22be2be55f655e5c62.png)
下载解压后建议将文件夹放在/usr/local下,打开访达按shift+command+G输入/usr/local即可进入文件夹,将解压好的scala-2.13.4拖入其中即可。接下来我们这个下载好的文件夹添加到环境变量中,打开终端,输入指令:
vim ~/.bash_profile
此时会打开.bash_profile文件,按I进入插入模式,在最后添加以下代码:
export SCALA_HOME="/usr/local/scala-2.13.4"
export PATH=$PATH:$M2_HOME/bin:$SCALA_HOME/bin
按esc退出插入模式,输入冒号,在冒号后输入wq,按回车,即可保存代码并退出,为了使文件生效,再输入指令:
source ~/.bash_profile
二、安装jdk
由于Scala是基于java的,大量使用java的类库和变量,所以想要使用Scala必须安装java(1.5以上版本)。
进入官网Java SE - Downloads,下载macOS版本。
![db2f4d6c1d56aa1a0980c46502624cf6.png](https://img-blog.csdnimg.cn/img_convert/db2f4d6c1d56aa1a0980c46502624cf6.png)
下载后一路点击确认即可安装成功,对于这个jdk,为了像安装Scala那样添加环境变量,我们需要获得它的路径。打开访达右上角搜索jdk,即可看到文件夹jdk-15.0.1.jdk,双击它看到Contents文件夹,双击后看到Home文件夹,双击后看到bin文件夹,右击后点击显示简介,将它的位置(也就是路径)复制下来。
![5af22c995164c1fbc5d0ab25fcc64116.png](https://img-blog.csdnimg.cn/img_convert/5af22c995164c1fbc5d0ab25fcc64116.png)
复制好路径后,再添加环境变量,打开终端,输入指令:
vim ~/.bash_profile
此时会打开.bash_profile文件,按I进入插入模式,在最后添加以下代码:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.0.1.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH:.
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
注意这里一共有三行,需要将JAVA_HOME=后面的内容替换成刚才自己复制的路径!
按esc退出插入模式,输入冒号,在冒号后输入wq,按回车,即可保存代码并退出,为了使文件生效,再输入指令:
source ~/.bash_profile
这时候可以检测一下java是否安装成功,继续输入指令:
java -version
出现版本信息则安装成功
![b20dd931dceeb4986cd2b433a5b6835a.png](https://img-blog.csdnimg.cn/img_convert/b20dd931dceeb4986cd2b433a5b6835a.png)
三、环境测试
打开终端,输入指令:
scala
![29a482f051e6af0b10202091993416c0.png](https://img-blog.csdnimg.cn/img_convert/29a482f051e6af0b10202091993416c0.png)
出现scala>则表示环境搭建成功!
在scala>后输入print("hello world"),按回车,即可打印出hello world
![4baf4e3a2b6b954ae46fa5ce2f7b37b7.png](https://img-blog.csdnimg.cn/img_convert/4baf4e3a2b6b954ae46fa5ce2f7b37b7.png)
至此本地环境搭建完成!
上述环境搭建完成后,只能通过repl(交互式解释器)来操作,有一点不方便,此时我们就需要一个IDE(集成开发环境)。IDE是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。这里推荐一个IDE软件IntelliJ IDEA,大家可自行下载macOS版。这里演示的版本是IntelliJ IDEA 2020.1
一、下载Scala插件
下载好IDEA后,打开IDEA,点击屏幕左上角的IntelliJ IDEA,再点击Preferences,弹出窗口后点击Plugins,在搜索框中输入scala,然后点击Install
![8154ddfca727c3afc80833dca7d7cff8.png](https://img-blog.csdnimg.cn/img_convert/8154ddfca727c3afc80833dca7d7cff8.png)
二、创建项目
安装好Scala插件后,需要重启一下IEDA,点击创建新项目
![e0391f3ed6bd7c51694ba90e015732b8.png](https://img-blog.csdnimg.cn/img_convert/e0391f3ed6bd7c51694ba90e015732b8.png)
选取Scala,点击IDEA,点击Next
![a467443ce0d3672a65df84ceedb1dac0.png](https://img-blog.csdnimg.cn/img_convert/a467443ce0d3672a65df84ceedb1dac0.png)
填写项目信息,项目名随便起一个,项目位置就默认,JDK选择到上文下载的,Scala SDK选择到上文下载的,点击Finish
![02570612533b0fb17e1696d7da91f512.png](https://img-blog.csdnimg.cn/img_convert/02570612533b0fb17e1696d7da91f512.png)
点击展开demo,右击src选择新建,选择Scala Class
![bc1a453501ab20908ef30ee2b7b3dc88.png](https://img-blog.csdnimg.cn/img_convert/bc1a453501ab20908ef30ee2b7b3dc88.png)
输入Scala的类名,这里取名为helloworld,按回车
![d06f0af1bdc8cd5fb70573c720bde2a1.png](https://img-blog.csdnimg.cn/img_convert/d06f0af1bdc8cd5fb70573c720bde2a1.png)
在生成的helloworld.scala中输入以下代码
object helloworld {
def main(arg: Array[String]): Unit = {
println("hello world")
}
}
右击helloworld,点击运行
![291d5ebe7a72c3a7dbe9e21b1866e2fc.png](https://img-blog.csdnimg.cn/img_convert/291d5ebe7a72c3a7dbe9e21b1866e2fc.png)
如下图会打印出hello world
![76f0ca6aeebf7f63a1c987663f9efbd5.png](https://img-blog.csdnimg.cn/img_convert/76f0ca6aeebf7f63a1c987663f9efbd5.png)
总结:至此本文介绍了两种环境的搭建,一是本地的repl环境,二是更多功能的集成开发环境,谢谢!