Hasura CLI をグローバルにインストールしない場合の手順について / Hasura チュートリアル
Tweet次のコマンドで、Hasura CLI をローカルにインストールした場合には、グローバルにインストールした時と、実行コマンドに差が生じます。(インストール先がグローバルとローカルと異なるその差異のために、生じます。ローカルにある場合、npm の仕様に準じた動作をします。)
以降の説明は Hasura CLI 特有の説明ではなく npm の仕様の説明になります。より正確には npm のドキュメント参照ください。
yarn add hasura-cli
ローカルパッケージの実行に関する正確な知識がない場合には、グローバルにインストールすることをおすすめします。自分もグローバルにインストールをして開発していますが、さしあたって大きなトラブルは発生していません。
ターミナルから実行する場合
ターミナルからローカルにある npm パッケージを実行するためには npx
を使用します。
以下のようなディレクトリ構造にある場合で top
にいた場合には、以下のようにコマンドを実行すると正常に hasura console が立ち上がります。
cd hasura
npx hasura cosole
package.json に npm script を記述する場合
npx
ではなく、package.json に npm script を記述するとより便利です。以下のようなディレクトリ構造の場合に、次のように npm script を記述します。
{
"scripts": {
"hasura": "hasura --project hasura",
"hasura:console": "npm run hasura console",
"hasura:apply": "npm run hasura migrate apply"
}
}
すると package.json と同階層、及び下の階層で yarn hasura:console
, yarn hasura:aplly
と実行することで正常に動作します。また yarn hasura migrate status
と入力しても正常にどうします。これは npm script に設定した "hasura": "hasura --project hasura"
が関連してきます。これがない場合には yarn hasura migrate status
は動作しません。
(hasura --propject hasra
の説明についてはこちらのドキュメントを参照ください)
記事作成のヒントをいただいた「えるきちさん」ありがとうございました!