npm install multiple package names

2019-04-04 17:35发布

问题:

What does it do when I run this command:

npm install --save-dev package1 package2

It is definitely not installing multiple packages, but it looks to be essential. (For example https://www.browsersync.io/docs/gulp)

For me it throws following ERRs:

C:\1HLAVNI\Lukas\Webdesign\lukasradek>npm install --save-dev gulp-babel gulp-add-src

> bufferutil@1.1.0 install C:\1HLAVNI\Lukas\Webdesign\lukasradek\node_modules\bufferutil
> node-gyp rebuild


C:\1HLAVNI\Lukas\Webdesign\lukasradek\node_modules\bufferutil>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:401:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:356:11
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:123:15)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\1HLAVNI\Lukas\Webdesign\lukasradek\node_modules\bufferutil
gyp ERR! node -v v6.3.1
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN install:bufferutil@1.1.0 bufferutil@1.1.0 install: `node-gyp rebuild`
npm WARN install:bufferutil@1.1.0 Exit status 1

> utf-8-validate@1.1.0 install C:\1HLAVNI\Lukas\Webdesign\lukasradek\node_modules\utf-8-validate
> node-gyp rebuild


C:\1HLAVNI\Lukas\Webdesign\lukasradek\node_modules\utf-8-validate>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "" rebuild )
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at failNoPython (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:401:14)
gyp ERR! stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:356:11
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:123:15)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\1HLAVNI\Lukas\Webdesign\lukasradek\node_modules\utf-8-validate
gyp ERR! node -v v6.3.1
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok
npm WARN install:utf-8-validate@1.1.0 utf-8-validate@1.1.0 install: `node-gyp rebuild`
npm WARN install:utf-8-validate@1.1.0 Exit status 1
lukasradek@1.0.0 C:\1HLAVNI\Lukas\Webdesign\lukasradek
+-- gulp-add-src@0.2.0
| +-- event-stream@3.1.7
| | `-- split@0.2.10
| +-- streamqueue@0.1.3
| | `-- readable-stream@1.0.34
| `-- through2@0.4.2
|   +-- readable-stream@1.0.34
|   `-- xtend@2.1.2
|     `-- object-keys@0.4.0
`-- gulp-babel@6.1.2
  +-- babel-core@6.13.2
  | +-- babel-code-frame@6.11.0
  | | `-- js-tokens@2.0.0
  | +-- babel-generator@6.11.4
  | | +-- detect-indent@3.0.1
  | | | `-- repeating@1.1.3
  | | `-- lodash@4.14.1
  | +-- babel-helpers@6.8.0
  | +-- babel-messages@6.8.0
  | +-- babel-register@6.11.6
  | | +-- core-js@2.4.1
  | | +-- home-or-tmp@1.0.0
  | | +-- lodash@4.14.1
  | | +-- path-exists@1.0.0
  | | `-- source-map-support@0.2.10
  | |   `-- source-map@0.1.32
  | +-- babel-runtime@6.11.6
  | | `-- regenerator-runtime@0.9.5
  | +-- babel-template@6.9.0
  | | `-- lodash@4.14.1
  | +-- babel-traverse@6.13.0
  | | +-- globals@8.18.0
  | | +-- invariant@2.2.1
  | | | `-- loose-envify@1.2.0
  | | |   `-- js-tokens@1.0.3
  | | `-- lodash@4.14.1
  | +-- babel-types@6.13.0
  | | +-- lodash@4.14.1
  | | `-- to-fast-properties@1.0.2
  | +-- babylon@6.8.4
  | +-- json5@0.4.0
  | +-- lodash@4.14.1
  | +-- minimatch@3.0.2
  | +-- path-exists@1.0.0
  | +-- private@0.1.6
  | +-- shebang-regex@1.0.0
  | `-- slash@1.0.0
  `-- object-assign@4.1.0

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.14
npm WARN lukasradek@1.0.0 No repository field.

回答1:

Save as dependencies:

npm i -S package1 package2

Save as dev-dependencies:

npm i -D package1 package2


回答2:

It is definitely not installing multiple packages

Why? You're installing package1 and package2 and marking them as devDependencies with --save-dev.

As stated in the documentation, you may combine multiple arguments, and even multiple types of arguments. In your case, you're combining 2 package names published on the registry.



回答3:

npm install -save module1 module2

Example: npm install -save morgan chalk errorhandler lusca dotenv path mongoose

The above command will install the latest versions of morgan, chalk, errorhandler, lusca, dotenv, path and mongoose.