opam의 Ocaml 프로젝트를 사용하는 설정 방법
사전 준비
사전에 opam을 가져올 준비를 합니다.
설치opam
brew install opam
opam을 초기화합니다.임의의 디렉터리에서 다음 명령을 두드리다
opam init
이 명령을 눌렀을 때 ~/.opam
를 만들고 최신 OCAml을 설치합니다.다시 이 지령을 내리면 질문을 받기 때문에 그것에 대답할 것이다.
Do you want opam to modify ~/.zshrc? [N/y/f]
(default is 'no', use 'f' to choose a different file)
대답y
A hook can be added to opam's init scripts to ensure that the shell remains in sync with the opam environment when they are loaded. Set that up? [y/N]
대답y
이 질문은 opam의 설정 (예를 들어 사용하는 Ocaml 버전 등) 을 업데이트하는 스크립트를 어디에서 hook으로 실행하는지 여부입니다.Zsh의 경우 $HOME/.opam/opam-init/env_hook.zsh
를 만들고 프롬프트 표시에 hook을 표시하여 업데이트 스크립트를 실행합니다.작업 디렉터리마다 opam의 설정이 다르기 때문에 y를 대답하는 것이 좋습니다.아쉽다zshrc에 opam을 포함하는 코드가 추가된 사람도 y라고 대답했다..opam/opam-init/env_hook.zsh
y에 응답하지 않으면 생성되지 않습니다.opam에 사용되는 환경 변수 업데이트
eval $(opam env)
OCAml이 설치되어 있는지 확인
ocaml --version
which ocaml # => `~/.opam/default/bin/ocaml`になっているはず
프로젝트에서 OCAM 설정
opam switch list-available
#Name
열ocaml-base-compiler
행을 확인하면 됩니다.# cd /path/to/your_project して
opam switch create . ocaml-base-compiler.4.11.1
/path/to/your_project
아래에 _opam
목록을 형성한다.이 디렉터리에ocaml 명령과 필요한 패키지를 설치합니다.
eval $(opam env)
ocaml --version
which ocaml # => `/path/to/your_project/_opam/bin/ocaml`になっているはず
# cd /path/to/your_project して
touch ${your_project_name}.opam
이 opam 파일은 npm로 패키지를 표시합니다.제이슨에 해당하는 물건.npm와 달리 매번 opam 패키지[1]를 설치, 해제할 때마다 자동으로 업데이트되지 않기 때문에 수동으로 업데이트해야 합니다.다음 예제[2]에 따라 ${your_project_name}.opam
에 필요한 패키지를 설명합니다.opam-version: "2.0" # => opam自体のバージョンが2以上でも"2.0"と書いておけばOK
depends: [ # => 必要なパッケージを記載
"merlin"
"dune" {= "2.7.1"} # => バージョン指定したい場合の書き方
]
# cd /path/to/your_project して
opam install . --deps-only
opam 파일을 만들지 않고 봉인을 따로 설치하는 명령은
opam install ${package_name}
입니다.다만 프로젝트에서 필요한 포장을 공유할 것 같아 opam 파일에 기재하는 방법을 소개했다.↩︎ 이것은 다섯 개의 명령을 통과하는 데 사용되는 최소한의 코드입니다.
opam lint
명령을 사용하여 opam 파일을 검사할 때 오류나 경고가 발생합니다.↩︎ Reference
이 문제에 관하여(opam의 Ocaml 프로젝트를 사용하는 설정 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/hoddy3190/articles/4b7347ecd7ba59텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)