305
201

More than 5 years have passed since last update.

npm install の --save-dev って何?

Posted at

npm install --save-dev--save-dev ってなんだ?と思って調べたのでメモ。

--save-dev が気になったきっかけ

Vue.jsのアプリを簡単にS3にアップロードする方法として以下のサイトを参考にしました。(とても簡単で便利)

gulp で S3 へファイルアップロード

こちらのサイトの手順に従い、
npm install --save-dev を実行して gulp をインストールし、
gulp publish を実行したところ、、、

-bash: gulp: command not found

あれ、動かない。

--save-devってなに?

--save-dev はローカルインストールするためのコマンドです。
正確に言うと npm install -gがグローバルインストールのコマンドで、
-gを付けないとローカルインストールになります。

ローカルインストールしたパッケージをどう実行するの?

ローカルインストールの場合は、
カレントディレクトリにnode_modulesディレクトリが作られ、そこにパッケージがインストールされます。
そのため、インストールした後は、node_modules/.binディレクトリの配下にあるパッケージを実行する必要があります。
./node_modules/.bin/gulp publish

どういうときに--save-dev をした方がいいの?

あまりnpmを使うことがなかったこともあり、
マニュアルのコピペでグローバルインストールしかしてなかったのですが、
以下の記事を読んでみると、なるべくローカルインストールした方が良さそうですね。

[Node.js] npm installするときはどのパッケージもローカルインストールで十分

もう少し補足すると、
--save-dev すると、自動で package.jsondevDependencies に追記されます。
そして dependencies には追記されません。

git cloneでクローンしてきて、必要なパッケージをインストールするときに
npm install --productionとすると、devDependenciesはインストールされないようです。
逆に dependencies に入っているとインストールされてしまうので、
githubにソースを公開するときは使い分けできていると親切そうですね。

305
201
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
305
201