作りたいコマンドができたので、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.ts
やcli.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.ts
やcli.ts
の場合は親ディレクトリ名になるので、--output
オプションでコマンド名の指定をしている
実行ファイルの移動 🔗
deno_helloという実行ファイルが生成されている
$ ls
cli.ts deno_hello
$ mv ./deno_hello $HOME/.deno/bin
実行 🔗
$ deno_hello
Hello, World!
OK!
🔗
リポジトリ 🔗
今回の成果物