Using different deno versions
By J2P at
deno 의 새로운 버전이 나왔을 때 이전 버전과 어떤것이 달라졌는 지 확인을 해보고 싶은 경우, 또는 개발 시 필요한 버전이 다른 경우 버전을 편하게 변경 하는 방법을 찾아봤다.
deno upgrade 를 사용해서 버전 변경
간단하게는 deno cli 를 사용해서 upgrade 를 할 때 옵션으로 --version 을 써주게 되면 해당 버전이 설치가 된다.
$ deno upgrade --version 1.22.0
Checking https://github.com/denoland/deno/releases/download/v1.22.0/deno-aarch64-apple-darwin.zip
29.6 MiB / 29.6 MiB (100.0%)
Deno is upgrading to version 1.22.0
Archive: /var/folders/l2/g5x8dzcn21vft27bq9pc5k400000gn/T/.tmpS4Fxar/deno.zip
inflating: deno
Upgraded successfully
버전을 확인해보면 아래와 같이 1.22.0 을 사용할 수 있게 되었다.
deno --version
deno 1.22.0 (release, aarch64-apple-darwin)
v8 10.0.139.17
typescript 4.6.2
deno upgrade 를 사용하는 방법은 해당 버전을 한번 설치했어도 다른 버전을 설치했다가 다시 설치하게 되면 또 다운로드를 받게 된다. 이 방법은 여러 버전의 deno 실행 파일을 가지고 있는 상태가 아니라서 매번 설치하고 여러 프로젝트에서 다른 버전을 사용할 경우 어려움이 있을 거 같다.
dvm 을 사용해서 버전 변경
설치 방법
curl -fsSL https://deno.land/x/dvm/install.sh | sh
사용 방법
dvm --help
dvm 1.7.0
Deno Version Manager - Easy way to manage multiple active deno versions.
USAGE:
dvm <SUBCOMMAND>
OPTIONS:
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
activate Activate Dvm
alias Set or unset an alias
completions Generate shell completions
deactivate Deactivate Dvm
doctor Fixing dvm specific environment variables and other issues
help Print this message or the help of the given subcommand(s)
info Show dvm info.
install Install deno executable to the given version. [aliases: i, add]
list List installed versions, matching a given <version> if provided [aliases: ls,
ll, la]
list-remote List released versions [aliases: lr, ls-remote]
uninstall Uninstall a given version [aliases: un, unlink, rm, remove]
use Use a given version or a semver range or a alias to the range.
EXAMPLE:
dvm install 1.3.2 Install v1.3.2 release
dvm install Install the latest available version
dvm use 1.0.0 Use v1.0.0 release
dvm use latest Use the latest alias that comes with dvm, equivalent to *
dvm use ^1.0.0 Use 1.x version (~1.0.0, >=1.0.0 are supported as well)
NOTE:
To remove, delete, or uninstall dvm - just remove the `$DVM_DIR` folder (usually `~/.dvm`)
asdf 를 사용해서 버전 변경
asdf 설치
mac 을 쓰고 있어서 brew 로 설치한다.
$ brew install asdf
asdf deno plugin 설치
아래와 같이 deno plugin 을 설치하기 위해서 plugin 을 확인 할 수 있다.
$ asdf plugin-list-all | grep deno
deno *https://github.com/asdf-community/asdf-deno.git
위에서 나온 url로 deno plugin 을 설치한다.
$ asdf plugin-add deno https://github.com/asdf-community/asdf-deno.git
deno 버전 설치
아래와 같은 명령어로 필요한 버전의 deno 를 설치한다.
$ asdf install deno 1.23.0
$ asdf install deno 1.22.3
deno 버전 변경
버전 설정 방법은 아래와 같은 명령어로 쉽게 변경할 수 있다. global 옵션을 주면 글로벌하게 deno 이 버전을 변경 할 수 있다.
$ asdf global deno 1.23.0
또는 해당 프로젝트 디렉토리에서는 다른 버전을 쓰고 싶다면 아래와 같이 변경할 수 있다.
$ asdf local deno 1.22.3
결론
나는 asdf 가 제일 좋은 거 같다는 생각이다. 여러 버전을 쉽게 설치하고 쉽게 변경 할 수 있고, 특정 프로젝트에서 사용할 버전을 다르게 설정 할 수도 있어서 좋다고 생각한다.