npm install -g 和npm install --save-dev的关系

npm install --save-dev xxx是自动把模块和版本号添加到devdependencies部分
npm install -g xxx是将模块安装在全局

但是执行了npm install --save-dev,package.json中devDependencies会加入安装的模块,但是在命令行中执行命令时还是出现command not found,还是必须要npm install -g安装在全局才行。

npm install --save-dev的作用仅仅是自动把模块和版本号添加到devdependencies部分么,我们还是需要先安装么?还是说我们没配对环境变量? 为什么很多教程在Installation这流程都是npm install --save-dev xxx就OK了呢

阅读 21.1k
2 个回答

1.npm install本地安装
(1)将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
(2)可以通过 require() 来引入本地安装的包。
2.npm install -g全局安装
(1) 将安装包放在 /usr/local 下或者你 node 的安装目录。
(2)可以直接在命令行里使用。
3.npm install --save
(1)会把msbuild包安装到node_modules目录中
(2)会在package.json的dependencies属性下添加msbuild
(3)之后运行npm install命令时,会自动安装msbuild到node_modules目录中
(4)之后运行npm install --production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中
4.npm install --save-dev
(1)会把msbuild包安装到node_modules目录中
(2)会在package.json的devDependencies属性下添加msbuild
(3)之后运行npm install命令时,会自动安装msbuild到node_modules目录中
(4)之后运行npm install --production或者注明NODE_ENV变量值为production时,不会自动安装msbuild到node_modules目录中

这是带不带-g参数的区别.
带了-g说明全局安装.不带说明安装在当前目录
当你在终端输入命令时候.他会去在全局的node_modules中寻找相应的包.并不会寻找当前目录下的nodeMOdules.当然了.你也可以指定执行当前目录下的命令.
不带-g的话要怎么使用呢?
那就是要将命令写早npmScript上面.默认会从当前目录的nodeMOdules下寻找

推荐问题
宣传栏