【Deno】Hello, World!を出力するだけのコマンドを作る
2021/05/25
作りたいコマンドができたので、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!と出力するだけのファイルを作成
cli.ts
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.tsやcli.tsの場合は親ディレクトリ名になるので、--nameオプションでコマンド名の指定をしている
パスを通す
デフォルトで$HOME/.deno/bin以下に保存されるのでパスを通してあげる
$ echo 'export PATH="$HOME/.deno/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile実行
$ deno_hello
Hello, World!動いた
実行ファイルの中身
~/.deno/bin/deno_hello
#!/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.tsやcli.tsの場合は親ディレクトリ名になるので、--outputオプションでコマンド名の指定をしている
実行ファイルの移動
deno_helloという実行ファイルが生成されている
$ ls
cli.ts deno_hello
$ mv ./deno_hello $HOME/.deno/bin実行
$ deno_hello
Hello, World!OK!
リポジトリ
今回の成果物
