高木のブログ

【Deno】Hello, World!を出力するだけのコマンドを作る

· 123 words · 1 minutes to read

作りたいコマンドができたので、Denoでコマンドを作成する予習

Hello, World!を出力するだけのコマンド作成する

Denoのバージョン 🔗

Dockerでやるのは不都合が出てきたのでMacにHomebrewで直接インストールした

$ brew install deno
$ deno --version
deno 1.10.2 (release, x86_64-apple-darwin)
v8 9.1.269.27
typescript 4.2.2

コマンドの作成 🔗

Hello, World!と出力するだけのファイルを作成

console.log("Hello, World!");

権限も特にいらないのでこれで完成

$ deno run cli.ts
Hello, World!

コマンドのインストール 🔗

インストール 🔗

deno installでインストールできる

$ deno install cli.ts

もしくはGitHubに上げて

$ deno install --name deno_hello https://raw.githubusercontent.com/ytkg/deno_hello/main/cli.ts

※デフォルトで拡張子を省略したファイル名がコマンド名になるが、mod.tscli.tsの場合は親ディレクトリ名になるので、--nameオプションでコマンド名の指定をしている

パスを通す 🔗

デフォルトで$HOME/.deno/bin以下に保存されるのでパスを通してあげる

$ echo 'export PATH="$HOME/.deno/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile

実行 🔗

$ deno_hello
Hello, World!

動いた

実行ファイルの中身 🔗

#!/bin/sh
# generated by deno install
exec deno run 'https://raw.githubusercontent.com/ytkg/deno_hello/main/cli.ts' "$@"

別のやり方(コンパイル) 🔗

コンパイル 🔗

$ deno compile cli.ts

もしくはGitHubに上げて

$ deno compile --output deno_hello https://raw.githubusercontent.com/ytkg/deno_hello/main/cli.ts

※デフォルトで拡張子を省略したファイル名がコマンド名になるが、mod.tscli.tsの場合は親ディレクトリ名になるので、--outputオプションでコマンド名の指定をしている

実行ファイルの移動 🔗

deno_helloという実行ファイルが生成されている

$ ls
cli.ts          deno_hello

$ mv ./deno_hello $HOME/.deno/bin

実行 🔗

$ deno_hello
Hello, World!

OK!

🔗

リポジトリ 🔗

今回の成果物

ytkg/deno_hello - GitHub

参考 🔗

Categories


Tags