【MOJO】Modular语言安装和测试

目录

一、Mojo介绍

Linux​

Mac

二、安装Mojo SDK

三、mojo代码测试

3.1、在 REPL 中运行代码​

3.2、构建并运行 Mojo 源文件​

运行mojo文件​

构建可执行二进制文件​

四、VSCode安装



一、Mojo介绍

在学习Rust语言的过程中无意发现了Modular语言,语言的后缀为.mojo,这个语言通过调研还截止现在还不够成熟,不过mojo团队火力推进中,具备兼容Python语言的语法特性,并具有Rust语言的安全性和高性能,让人耳目一新的样子。

官网和社区地址如下

安装SDK | Mojo中文网

Mojo开发者社区🔥

Mojo 尚不适用于 Windows,您可以在 Linux 容器或远程系统中安装, 或者使用windows中的linux子系统,参考linux安装方式进行安装。

Linux

系统要求:

  • Ubuntu 20.04 及更高版本
  • x86-64 CPU 和最低 4 GiB RAM
  • Python 3.8 - 3.10
  • g++ 或 clang++ 编译器

请注意:目前仅支持Ubuntu,以下安装步骤在Ubuntu 22.04测试通过

Mac

带着好奇尝试了一下Modular的安装和测试,主要记录安装步骤,不过这些在mojo社区也能找到。

模块和包 | Mojo中文网这里我以MacOS安装为例进行安装,我们看到官网写的步骤很详细按照执行即可

二、安装Mojo SDK

1、创建 GitHub 代码示例的分支。GitHub code examples.
2、安装 VS Code、Mojo 扩展插件和 GitHub Codespaces 扩展插件等,下文详细说明。
3、在 VS Code 中,按 Cmd+Shift+P 并选择 Codespaces:创建新 Codespace。 然后选择您分叉的“mojo”存储库,并选择具有 32 GB RAM 的实例类型。
4、安装Modular CLI:

curl https://get.modular.com | \
  MODULAR_AUTH=mut_16132486efc04824ad90e4d5a2afbaed \
  sh -

5、安装Mojo SDK

安装之前建议配置安装路径,默认安装到$HOME/.modular目录下

export MODULAR_HOME="$HOME/language/modular"

modular install mojo

6、如果安装过程中切换网络或者安装失败执行

 安装失败后先执行modular clean,再执行modular install mojo

modular clean
modular install mojo

7、配置Mojo环境变量

安装完Mojo SDK需要配置环境变量:MODULAR_HOME,PATH

MODULAR_HOME:Modular安装路径设置

PATH:执行mojo需要的可执行文件bin目录

如果你使用bash shell 执行如下命令

echo 'export MODULAR_HOME="$HOME/language/modular"' >> ~/.bashrc

echo 'export PATH="$MODULAR_HOME/pkg/packages.modular.com_mojo/bin:$PATH"' >> ~/.bashrc

source ~/.bashrc

如果你使用zsh shell 执行如下命令

echo 'export MODULAR_HOME="$HOME/language/modular"' >> ~/.zshrc

echo 'export PATH="$MODULAR_HOME/pkg/packages.modular.com_mojo/bin:$PATH"' >> ~/.zshrc

source ~/.zshrc

 8、更新Mojo

Mojo 是一项正在进行的工作,定期会发布 Mojo 语言和 SDK 工具的更新。有关每个版本的信息,请参阅 Mojo 更新日志。

要检查您当前的 Mojo 版本,请使用以下选项:--version

mojo --version

要更新到最新的Mojo版本,请使用以下命令:modular update

modular update mojo

三、mojo代码测试

3.1、在 REPL 中运行代码

首先,让我们尝试在 Mojo REPL 中运行一些代码,它允许您直接在命令提示符中编写和运行 Mojo 代码:

1、要启动 REPL 会话,请在终端中输入 mojo 并按 Enter。

2、然后输入 print("Hello, world!") 并按 Enter 两次(需要一个空行来指示表达式的结束)。

像这样:

$ mojo
Welcome to Mojo! 🔥

Expressions are delimited by a blank line.
Type `:quit` to exit the REPL and `:mojo help` for further assistance.

1> print("Hello, world!")
2.
Hello, world!

您可以在 REPL 中编写任意数量的代码。 您可以按 Enter 键开始新行并继续编写代码,当您希望 Mojo 评估代码时,请按 Enter 两次。 如果有需要打印的内容,Mojo 会打印它,然后将提示返回给您。

REPL 主要用于短期实验,因为代码不会保存。 所以当你想编写一个真正的程序时,你需要将代码编写在.mojo源文件中。

3.2、构建并运行 Mojo 源文件

现在让我们用源文件打印“Hello, world”。 Mojo 源文件使用 .mojo 或 .🔥 文件扩展名进行标识。 您可以通过将 Mojo 文件传递给 mojo 命令来快速执行该文件,也可以使用 mojo build 命令构建已编译的可执行文件。 让我们两者都尝试一下。

运行mojo文件

编写Mojo代码并执行:

1、创建一个名为 hello.mojo (或 hello.🔥)的文件并添加以下代码:

fn main():
   print("Hello, world!")

这就是您所需要的。 保存文件并返回到您的终端。

2、使用 mojo 命令运行它:

mojo hello.mojo

Hello, world!

构建可执行二进制文件

构建并运行可执行文件: 1、使用 build 命令创建独立的可执行文件:

mojo build hello.mojo

创建与 .mojo 文件同名的可执行文件,但您可以使用 -o 选项更改它。 2、运行可执行文件:

./hello

该可执行文件与 C 或 C++ 可执行文件一样在您的系统上运行。

更多mojo语言语法和模块见mojo中文网:Mojo语法基础 | Mojo中文网

Mojo GitHub:https://github.com/modularml/mojo

四、VSCode安装

vscode是mojo推荐的IDE,主要还可以远程调试代码,支持Rust,Go,Python,C/C++无所不能。

下载地址:Visual Studio Code - Code Editing. Redefined

插件安装:

Mojo:Mojo for Visual Studio Code,用来提供mojo开发编译环境

GitHub Codespaces:代码提交github仓库

Remote- SSH:远程代码开发插件

安装完后需要重启插件:

快捷键:Ctrl+shift+p

输入:>Reload Window

远程办公vscode插件安装文章推荐:vscode连接远程服务器(傻瓜式教学)-CSDN博客

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WIN10 WIN11 关闭更新的绝佳办法(极简单无副作用)

WIN10 WIN11 关闭更新的绝佳办法(极简单无副作用) 极其简单用实用可以关闭更新20年 winr,输入regedit 打开注册表打开注册表的这个路径: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 右键空白的地方…

智慧用电安全动态监控系统

智慧用电安全动态监控系统是一种先进的电力监控技术系统,它运用物联网、大数据、云计算等先进技术,对电力系统的运行状况进行实时监控和预警。 该系统依托电易云-智慧电力物联网,通过智能传感终端采集电气线路的实时运行数据,客户…

也可Adobe Animate

Animate CC 由原Adobe Flash Professional CC 更名得来,2015年12月2日:Adobe 宣布Flash Professional更名为Animate CC,在支持Flash SWF文件的基础上,加入了对HTML5的支持。并在2016年1月份发布新版本的时候,正式更名为…

数学字体 Mathematical fonts

Mathematical fonts 数学字体: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzRQSZ \\ \mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzRQSZ} \\ \mathfrak{ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzRQSZ} \\ \mathbb{ABC…

分类详情 API 返回值说明

为了进行此平台API的调用,首先我们需要做下面几件事情。 1、 获取一个KEY,点击获取测试key和secret 2、 参考API文档里的接入方式和示例。 3、查看测试工具是否有需要的接口,响应实例的返回字段是否符合参数要求。 4、利用平台的文档中心…

Go读取yaml文件,struct返回,json输出

程序模块中,缺少不了一些配置定义,这时定义yaml是个很好的选择 先定义yaml文件内容,文件名为:task_status_config.yaml confs:#阅读类任务,即提醒任务read:name: readawait: #待开始任务status_id: 0ing: #进行中任务…

GANVAEDiffusion

数学基础 KL散度 描绘一个分布p和另一个分布q之间的偏离程度 当 p ( x ) q ( x ) p(x)q(x) p(x)q(x)时散度取得最小值 JS散度 另一种衡量两个概率分布相似性的方法 GAN 需要训练两个网络;损失来回波动,不好分辨,不容易收敛&#xff…

〖大前端 - 基础入门三大核心之JS篇㊸〗- DOM事件对象的方法

说明:该文属于 大前端全栈架构白宝书专栏,目前阶段免费,如需要项目实战或者是体系化资源,文末名片加V!作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作&#xf…

个人成长|实现财务自由的秘诀,在这8句话里

哈喽啊,我是雷工! 有人说,当今社会阶层跃迁的通道已经被堵死了,要想从普通人跨越阶级发家致富根本不可能。 也有人认为,只要踩住时代的风口,吃到时代的红利,成为百万富翁的速度会非常快。 我觉…

【源码篇】基于SpringBoot+Vue实现的在线考试系统

文章目录 系统说明技术选型成果展示账号地址及其他说明 系统说明 基于SpringBootVue实现的在线考试系统是为高校打造的一款在线考试平台。 系统功能说明 1、系统共有管理员、老师、学生三个角色,管理员拥有系统最高权限。 2、老师拥有考试管理、题库管理、成绩管…

java+springboot物资连锁仓库经营商业管理系统+jsp

主要任务:通过网络搜集与本课题相关的素材资料,认真分析连锁经营商业管理系统的可行性和要实现的功能,做好需求分析,确定该系统的主要功能模块,依据数据库设计的原则对数据库进行设计。最后通过编码实现本系统功能并测…

linux如何杀死进程_kill

使用信号控制进程:kill kill 可将指定的信息送至程序。 一般地,kill 命令用于删除执行中的程序或工作。在系统运行期间,若发生了如下情况,就需要将这些进程杀死。 进程展会用了过多的CPU时间 进程锁住了一个终端,是其…

每天五分钟计算机视觉:AlexNet网络的结构特点

本文重点 在前面的一篇文章中,我们对AlexNet网络模型的参数进行了详细的介绍,本文对其网络模型的特点进行总结。 特点 1、AlexNet的网络结构比LeNet5更深,模型包括5个卷积层和3个全连接层。参数总量大概为249MB。 2、Alex使用了ReLu激活函…

Java(十)(网络编程,UDP,TCP)

目录 网络编程 两种软件架构 网络通信的三要素 IP IPv4的地址分类 特殊IP 端口号 协议 用UDP协议发送数据 用UDP接收数据 TCP接收和发送数据 TCP通信--支持与多个客户端同时通信 网络编程 可以让设备中的程序与网络上其他设备的程序进行数据交互(实现网络通信) 两…

2023年12月4日支付宝蚂蚁庄园小课堂小鸡宝宝考考你今日正确答案是什么?

问题:你知道电杆上安装的“小风车”有什么用途吗? 答案:防止鸟类筑巢 解析:小风车一般做成橙色,因为橙色是一种可令野鸟产生恐慌感的颜色;小风车在转动时,会发出令野鸟害怕的噪声;…

深入理解Servlet(下)

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 在这一篇文章里&#x…

HTML简介

1,网页 网页的相关概念 1.1,什么是网页? 网页是构成网站的基本元素,它通常由图片,链接,文字,声音,视频等元素组成。其实就是一个常见以.htm或.html后缀结尾的文件,因此…

鸿蒙是Android套壳么,当然不是,ArkTS还是很有意思的

前段时间看新闻,说是明年开始鸿蒙就要和andorid脱钩了。 大概就是这样的: 看到这个,我兴趣就来了。我有个华为P30,升级过鸿蒙系统,用起来也没啥变化,兼容andorid应用,然后就是开机去掉了Powere…

Mover Creator--功能简介

Mover Creator是一款AFSIM软件工具,提供方便易用的基于GUI的应用程序,帮助用户创建用于空中运动器的AFSIM输入文件,包括WSF_P6DOF_MOVER和WSF_GUIDED_MOVER。使用自定义定义的基于图形的模型定义,用户可以对飞机、武器和发动机进行…

配置typroa上传图片到gitee

在typora这个位置下载插件 在picgo.exe文件夹下输入cmd 打开命令行输入如下命令安装相关插件 .\picgo install gitee-uploader .\picgo install super-prefix 之后按照官方文档更改相关配置 官方文档参考 https://picgo.github.io/PicGo-Core-Doc 博客参考:…