状況
OS:Windows10
別のプログラムからtextlintを実行したかったのでNode.jsからインストールすることに。
色々調べてみて、自分のやりたいこと的にローカルインストール一択だったので、textlintパッケージはローカルインストールしました。
しかし .textlintrc.json を作成するために textlint --init
コマンドを実行するとエラーが発生し、ちょっと詰まったので備忘録として残しています。
手順
- Node.jsをインストール
- カレントプロジェクトに移動
npm init -y
を実行し、package.json を作成npm install --save-dev textlint
を実行し、textlint をローカルインストールtextlint --init
を実行したところエラーに
エラー内容
C:\Users\t.haneta\OneDrive\node.js\Sample>textlint --init 'textlint' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 C:\Users\t.haneta\OneDrive\node.js\Sample>
解決策
npx textlint --init
コマンドを実行!
C:\Users\t.haneta\OneDrive\node.js\Sample>npx textlint --init .textlintrc.json is created. C:\Users\t.haneta\OneDrive\node.js\Sample>
原因
グローバルインストールすると C:\Users\<ユーザー名>\AppData\Roaming\npm
の直下に保存されます。
ユーザー環境変数に C:\Users\<ユーザー名>\AppData\Roaming\npm
が登録されているため、どこからでもtextlintコマンドが実行できるようです。
ローカルインストールではnpx
コマンドを使うことで、ローカルにインストールされたnpmパッケージをグローバルにインストールすることなく実行できるそうです。
おわりに
Node.jsを使ったことがなく、ローカルインストールとグローバルインストールの違いもよく分かっていなかったので勉強になりました。
textlint以外も使ってみたいと思います。