8
Help us understand the problem. What are the problem?

posted at

updated at

npm使用時の「: command not found」について

プロジェクトはじめるときの備忘録です。

$ cd MyProject
$ eslint --init
-bash: eslint: command not found
$ webpack -v
-bash: webpack: command not found
$ gulp -v
-bash: gulp: command not found

たまに$ eslint --initやれば.eslintrcを初期設定できるみたいな記事があって、実際やってみたら「できないじゃん!」みたいな事になり
余計に調べ始めたりする事があるんですが、調べていくと「グローバルにインストールしましょう。」っていう案内にたどり着く。

「初期化だけのためにグローバルインストールするのも面倒だな〜」と思ったりします。

プロジェクトの中のnode_modulesって、グローバルインストールしてるわけではないので、
プロジェクトのディレクトリに移動しただけでは実行できないみたいです。

ちょっとバージョンを調べたり、初期化したりする時に「あれっ?あれっ?」ってなる事ありませんかね?
グローバルにインストールしてたりしてなかったり、混乱しますよね。

それの解決法です。

結論:ちゃんとパスを書いてあげる

$ ./node_modules/.bin/eslint --init
$ ./node_modules/.bin/webpack -v
4.41.6
$ ./node_modules/.bin/gulp -v
4.0.2

.binの中に名前があって、npmコマンドで実行できる物に限ります。
.binの中になかったら、多分グローバルインストールがオススメなのだろう、と思います。

↓ (追記)長い場合は「npx」と書いても大丈夫のようです。

$ npx eslint --init
$ npx webpack -v
$ npx gulp -v

ちなみにプラグインのバージョンを調べたいだけだったら

package.jsonを開いた方が早いかもですが

$ npm list --depth=0
$ npm list --depth=0 -g

これで調べられます。

参考記事

eslint --initコマンドが見つかりません
https://github.com/eslint/eslint/issues/10192

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
8
Help us understand the problem. What are the problem?