npm install, npm install -g, npm install --save, npm install --save-dev之间的区别
1.npm install X
- 安装X到项目的node_modules文件夹
- 会修改package.json,在dependencies中写入依赖。(关于这一点,网上的大部分文章都是说,不会修改package.json,笔者通过实践发现,是会在dependencies中写入依赖的)
- npm install会自动安装X。(网上都说不会自动安装,实践是会自动安装的。笔者将项目的node_modules文件夹删除之后,重新运行npm install,发现X被安装了)
2.npm install -g X
- 安装模块到全局(这样安装了哪里都可以用,各个项目都可以用),一般是安装到node的安装目录的node_modules。如果配置了全局目录,就会安装到全局目录的node_modules目录
- 不会修改package.json,不会将模块依赖写入devDependencies或dependencies 节点
- npm install不会自动安装X
3.npm install X --save
- 安装X到项目的node_modules文件夹
- 会修改package.json,在dependencies中写入依赖
- npm install会自动安装X
- 运行npm install --production或者注明NODE_ENV变量值为production时,会自动下载模块到node_modules目录中
3.npm install X --save-dev
- 安装X到项目的node_modules文件夹
- 会修改package.json,在devDependencies中写入依赖
- npm install会自动安装X
- 运行npm install --production或者注明NODE_ENV变量值为production时,不会自动下载模块到node_modules目录中。
总结:
devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用构建工具webkpack、 gulp ,用来辅助压缩js、css、html等。这些模块在我们的项目部署后是不需要的,所以我们可以使用 --save-dev 的形式安装;像 bootstrap、vue、angular、express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 --save 的形式安装;工具类的比如构建工具gulp,需要使用命令来运行任务,则需要使用—global来安装。
npm install, npm install -g, npm install --save, npm install --save-dev之间的区别的更多相关文章
- npm install @wepy/cli -g 出错
npm install @wepy/cli -g 出错:npm ERR! Unexpected end of JSON input while parsing near '...1.0.0" ...
- npm published cli package's default install missing the `-g` flag
npm published cli package's default install missing the -g flag https://npm.community/t/npm-publishe ...
- npm install —— 从一个简单例子,看本地安装与全局安装的区别
npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如 npm install grunt # 本地安装 npm install -g ...
- SimpleCV install and "You need the python image library to save by filehandle"
2015年5月3日 22:15:43 在win7下安装了python.simplecv,试着运行simplecv官网第一个hello world程序结果报错,提示说%python%/lib/site- ...
- 教你如何在Deepin搭建Qt开发环境(sudo apt-get install qt5-default qt5-qmake g++ qtcreator,也许对龙芯版的Deepin也有用)
首先教大家一种很简单的方法,打开终端输入以下命令: sudo apt-get install qt5-default qt5-qmake g++ qtcreator 上面的命令会自动帮你安装qt5开发 ...
- 一文看懂npm、yarn、pnpm之间的区别
文作者对比了当前主流的包管理工具npm.yarn.pnpm之间的区别,并提出了合适的使用建议,以下为译文: NPM npm是Node.js能够如此成功的主要原因之一.npm团队做了很多的工作,以确保n ...
- [转] 一文看懂npm、yarn、pnpm之间的区别
[From] http://geek.csdn.net/news/detail/197339 原文:Understanding differences between npm, yarn and pn ...
- 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇
接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...
- npm 和bower之间的区别
(一) npm是node js的包管理器,用来下载安装node js的第三方工具包,也可以用来发布你自己开发的工具包.通过npm可以安装bower,命令如下: npm install -g bower ...
随机推荐
- 基于 Go 的可嵌入脚本语言 zygomys
zygomys zygomys 是一种可嵌入的脚本语言. 它是一个具有面向对象风格的现代化 Lisp,提供了一个解释器和 REPL(Read-Eval-Print-Loop:也就是说,它带有一个命令行 ...
- spring 使用 context:property-placeholder 加载 多个 properties
一般使用PropertyPlaceholderConfigurer来替换占位符,例如: <bean class="org.springframework.beans.factory.c ...
- 1、课程简介-Spring 注解驱动开发
1.课程简介-Spring 注解驱动开发
- febric的使用
from fabric.api import * from fabric.colors import * from fabric.tasks import execute ''' env.hosts ...
- Linux下shell命令执行过程简介
Linux是如何寻找命令路径的:http://c.biancheng.net/view/5969.html Linux上命令运行的基本过程:https://blog.csdn.net/hjx5200/ ...
- poj 2762
Tarjan + TopsortTarjan 缩点Topsort 判断 Topsort 判断:在DAG中若初始状态下存在多于1个入度为0的点则说明这些 入度为0的点之间不会有路径可达若不存在入度为0的 ...
- DUILib学习笔记---消息处理
WIN32下窗口消息循环 MSG msg = { 0 }; while( ::GetMessage(&msg, NULL, 0, 0) ) { ::TranslateMessage(& ...
- 1558:聚会 ybt
1558:聚会 ybt 题解(看似很难,其实要是摸清了实质这就是个大水题) 上题目 1558:聚会 时间限制: 1000 ms 内存限制: 524288 KB提交数: 82 通 ...
- 一台服务器配置多个mysql实例
在公司资源紧张的情况下,需要在一台服务器上部署多个数据库实例,现在就来实战一下该情况. 需要启动两个不同的端口,分别是3306和3307 [root@node1 ~]# mkdir /u01/mysq ...
- vue pdf下载
主要技术栈是Vue,两个库: html2canvas npm地址 jspdf 具体实现代码如下: <template> <div class="priview_resume ...