Compy's Blog
1140 words
6 minutes
[Mojo] Get started Mojo
2025-01-31
No Tags

Get Started Mojo#

https://docs.modular.com/mojo/manual/get-started/

여기를 따라서 다운로드 하시면 됩니다.

간단한 다운로드(Mac)제가 Mac 유저라서 이정도만 작성하고 내려가겠습니다. (2025.01.31 한국 시간 기준)
magic

python과 mojo를 포함해서 여러 언어에 대한 Package manager이면서 virtual environment manager

만약에 여러분들의 mac에 ‘magic’이 없으면 아래의 commandline을 실행시켜 주세요!

curl -ssL https://magic.modular.com/deb187f1-a0a3-417f-aeee-d387b7638991 | bash 

이후에 source로 적용시켜 주시구요.

저는 shell을 Zsh로 사용하고 있어서 아래의 커맨드 라인을 사용하구요. 혹시나 bash shell 이용하시면 ~/.bashrc로 입력해서 적용할 수 있어요.

source ~/.zshrc

이후에 확인을 해볼까요?

magic --help

이제 적용이 잘 되었죠?



그러면 이제 프로젝트를 만들어봅시다. 일단 모조 프로젝트를 만들 곳으로 움직여 봅시다.
이후에 init을 해봅시다.

magic init life --format mojoproject

이러면 ls 처서 확인해보면 현재 디렉토리에 life라는 디렉토리가 생성된 것을 볼 수 있습니다. 그럼 life 들어가서 확인해보면 안에 gitignore도 있고 여러가지가 있는데요

ls -A로 확인해보면

.gitattributes
.gitignore
.magic
magic.lock
mojoproject.toml

이렇게 구성되어있을 겁니다.

구성 요소 설명

프로젝트 매니페스트 파일 (mojoproject.toml)#

프로젝트의 핵심이 되는 mojoproject.toml 파일은 모든 프로젝트 설정의 중심점 역할을 합니다. Python의 requirements.txt나 Node.js의 package.json과 유사한 이 파일에는 다음과 같은 정보들이 포함됩니다:

  • 프로젝트 의존성(dependencies)
  • 프로젝트 특성 및 설정
  • 기타 프로젝트 관련 메타데이터

의존성 잠금 파일 (magic.lock)#

magic.lock 파일은 프로젝트의 의존성 상태를 정확하게 추적합니다. 이 파일은 다음과 같은 정보를 포함합니다:

  • 설치된 패키지의 정확한 버전
  • 패키지들 간의 의존성 관계
  • 전이 의존성(transitive dependencies)

중요: 이 파일은 절대 직접 수정하지 마세요. mojoproject.toml을 수정하면 magic 명령어가 자동으로 업데이트합니다.

가상 환경 디렉토리 (.magic)#

.magic 디렉토리는 프로젝트의 격리된 개발 환경을 제공합니다. 이 디렉토리에는:

  • conda 가상 환경
  • 프로젝트별 패키지 설치
  • 환경 설정 정보

가 포함되어 있습니다.

Git 관련 파일#

프로젝트는 버전 관리를 위한 기본 설정도 제공합니다:

  • .gitignore: 버전 관리에서 제외할 파일 목록
  • .gitattributes: Git 속성 설정

이제 프로젝트가 올바르게 설정되었는지 확인을 해볼까요?

magic run mojo --version

이제 요 명령어를 통해서 설정된 가상환경에 들어가게 됩니다. 그리고 현재 설치된 모조 버전도 확인시켜 줍니다.

참고

이번에 따라오시면서 option으로 —format mojoproject을 넣고 프로젝트를 생성했다면, magic PM에서 자동으로 mojo를 포함하는 MAX 패키지를 의존성으로 알아서 추가합니다.

그러면 가상환경에 들어가는 것까지 해보죠.

magic shell 

Hello, Mojo world!#

국룰부터 해보고 들어가자!

(일단 모조는 main 함수를 꼭 필요로 합니다.)

fn main():
    return
def main():
    return

이렇게 함수는 두가지 방식으로 선언할 수 있어요.(물론 함수는 하나의 고유한 이름만으로 사용합니다.)

def main():
    print("Hello, Mojo world!")

자 이렇게 되었어요.

그러면 이걸 실행해 봐야겠죠?

일단 가상환경에 들어가있지 않다면 현재 터미널을 가상환경에 접속시켜 봅시다.

magic shell 

그리고 현재 Hello, Mojo world!를 적은 .mojo 파일을 실행하기 위해서는

mojo $그파일이름.mojo 

로 실행시킬 수 있어요! 그러면
바로 결과를 확인할 수 있어용!

만약에 내가 build를 하고 싶다!?!

mojo build $그파일이름.mojo 

이렇게 빌드한 후 $그파일이름 으로 저장되는데 그냥 ./$그파일이름으로 실행시킬 수 있어요!

여기까지 다운로드 및 빠른 시작하기 튜토리얼있구요!
다음부터는 문법을 쭉 살펴보도록 하죠!

Reference
#

Mojo docs

[Mojo] Get started Mojo
https://compy07.github.io/Blog/posts/mojo/start/
Author
뒹굴뒹굴 이정훈 공부방
Published at
2025-01-31