サイト改装への道(16) 「npm installのオプション」

$ npm install gulp
昨日、そうやってgulpをローカルにインストールしました。

だがしかし、nmpのインストールコマンドには、オプションがあります。

–save-dev

開発時にのみ必要なライブラリをインストールする際に指定する。

–save

実行環境で必要なライブラリをインストールする際に指定する。

これらのオプションを付けておくと、package.jsonが変更され、nmp installだけで必要なパッケージをインストールしてくれるという仕組み。

だが、packege.json自体を作る手順を踏んでないと働かないらしい。
なので、まず初期化。

$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install –save` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (yii2-app-advanced)
version: (1.0.0)
description:
entry point: (gulpfile.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to d:xampphtdocsyii2-app-advancedpackage.json:
{
  “name”: “yii2-app-advanced”,
  “version”: “1.0.0”,
  “description”: “Yii 2 Advanced Project Template ===============================”,
  “main”: “gulpfile.js”,
  “directories”: {
    “test”: “tests”
  },
  “scripts”: {
    “test”: “echo “Error: no test specified” && exit 1″
  },
  “author”: “”,
  “license”: “ISC”
}

Is this ok? (yes) yes
最後のyesを入力した以外は、そのままEnterキー。
この初期化で、次のようなファイルpackege.jsonが生成された。

{
  “name”: “yii2-app-advanced”,
  “version”: “1.0.0”,
  “description”: “Yii 2 Advanced Project Template ===============================”,
  “main”: “gulpfile.js”,
  “directories”: {
    “test”: “tests”
  },
  “scripts”: {
    “test”: “echo “Error: no test specified” && exit 1″
  },
  “author”: “”,
  “license”: “ISC”
}

その後にgulpをsave-devでインストール。

$ npm install –save-dev gulp
npm WARN package.json yii2-app-advanced@1.0.0 No repository field.
gulp@3.9.0 node_modulesgulp
├── interpret@0.6.2
├── pretty-hrtime@1.0.0
├── deprecated@0.0.1
├── archy@1.0.0
├── tildify@1.1.0 (os-homedir@1.0.0)
├── minimist@1.1.1
├── v8flags@2.0.7 (user-home@1.1.1)
├── chalk@1.0.0 (escape-string-regexp@1.0.3, ansi-styles@2.0.1, supports-color@1.3.1, has-ansi@1.0.3, strip-ansi@2.0.1)
├── semver@4.3.6
├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── liftoff@2.1.0 (extend@2.0.1, rechoir@0.6.1, flagged-respawn@0.3.1, resolve@1.1.6, findup-sync@0.2.1)
├── vinyl-fs@0.3.13 (graceful-fs@3.0.8, strip-bom@1.0.0, defaults@1.0.2, vinyl@0.4.6, mkdirp@0.5.1, through2@0.6.5, glob-stream@3.1.18, glob-watcher@0.0.6)
└── gulp-util@3.0.5 (array-differ@1.0.0, array-uniq@1.0.2, lodash._reinterpolate@3.0.0, beeper@1.1.0, lodash._reescape@3.0.0, object-assign@2.1.1, lodash._reevaluate@3.0.0, replace-ext@0.0.1, vinyl@0.4.6, lodash.template@3.6.1, through2@0.6.5, multipipe@0.1.2, dateformat@1.0.11)

そうすると、packege.jsonは、次のように更新されている。

{
  “name”: “yii2-app-advanced”,
  “version”: “1.0.0”,
  “description”: “Yii 2 Advanced Project Template ===============================”,
  “main”: “gulpfile.js”,
  “directories”: {
    “test”: “tests”
  },
  “scripts”: {
    “test”: “echo “Error: no test specified” && exit 1″
  },
  “author”: “”,
  “license”: “ISC”,
  “devDependencies”: {    “gulp”: “^3.9.0”  }}

うん。増えた。
これでnode_modulesを配らなくても、npm installで開発環境をインストールしてくれる。
という事かなぁ???

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です