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 ... 
