npm 安装多个包名

npm install multiple package names

当我 运行 这个命令时它做了什么:

npm install --save-dev package1 package2

绝对不是安装多个包,但看起来是必不可少的。 (例如https://www.browsersync.io/docs/gulp

对我来说,它抛出以下错误:

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

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


C:HLAVNI\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:HLAVNI\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:HLAVNI\Lukas\Webdesign\lukasradek\node_modules\utf-8-validate
> node-gyp rebuild


C:HLAVNI\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:HLAVNI\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:HLAVNI\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.

It is definitely not installing multiple packages

为什么?您正在安装 package1package2 并将它们标记为 devDependencies--save-dev.

the documentation所述,您可以组合多个参数,甚至多种类型的参数。在您的例子中,您组合了在注册表中发布的 2 个包名称。

另存为依赖项:

npm i package1 package2

另存为开发依赖项:

npm i -D package1 package2

npm i --save-dev package1 package2

npm install -save module1 module2

示例: npm install -save morgan chalk errorhandler lusca dotenv 路径 mongoose

以上命令将安装最新版本的 morgan、chalk、errorhandler、lusca、dotenv、path 和 mongoose。

此处的其他答案似乎没有回答问题。具体来说,执行 npm install --save-dev p1 p2 p3 不会导致 p2 和 p3 存储在我的 package.json 文件中。

以下行为我安装所有包+将其保存在开发依赖项中:

for i in 'package1' 'package2'; do npm install --save-dev "$i"; done

我在 Windows 上使用 Cygwin,但这也适用于 *nix 系统。

有点不相关,但如果使用 Cygwin 则非常重要:如果你使用 Cygwin,you need to add noacl 到你的挂载选项,否则它会弄乱你的模块权限并导致 Windows吓坏了。