包管理工具(npm、yarn)
npm包管理工具
* npm包管理工具的发展历史:https://zhuanlan.zhihu.com/p/99186425
1、 npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已。
2、 这两种安装方式的区别:
本地安装(安装在命令行运行所在目录下,创建的node_modules文件夹下)
1. 将安装包放在 ./node_modules 下(运行npm时所在的目录)
2. 可以通过 require() 来引入本地安装的包
全局安装
1. 将安装包放在 /usr/local 下
2. 可以直接在命令行里使用
3、npm install命令node会从配置文件中读取依赖的文件,然后去下载的
3、npm 与 cnpm : https://blog.csdn.net/shelly1072/article/details/51524029
有的指令 默认就是调用 npm 指令去下载包的,无法设置使用cnpm下载包,如 create-react-app 指令。可以把 npm 的源设置成 cnpm 的仓库源(即淘宝镜像),这样npm下载和cnpm下载的仓库源是一样的了。就可以不用cnpm指令了。
npm install cnpm -g --registry=https://registry.npm.taobao.org
4、npm 上发布自己的包 : https://blog.csdn.net/nsrainbow/article/details/37903097
注册的npm账号: ke***3**3 ; mm:w******20**** ; 邮箱: 1737509789@qq.com
5、node_modules目录讲解:https://www.jianshu.com/p/b4bf50823b50
6、删除node_modules目录:https://www.cnblogs.com/xwwin/p/5844182.html?utm_source=itdadao&utm_medium=referral
说明:使用 rimraf 会出现有的文件还是删除不了的问题。推荐使用 批处理文件删除。
7、npm命令
1、npm命令的参数,在获取中 是可以获取的到的 (这点在配置不同环境打包是很有用的):http://nodejs.cn/api/process.html#process_process_argv
2、
8、npm 清除缓存数据:https://www.jianshu.com/p/a96b30d00196 或 https://www.cnblogs.com/ae6623/p/8467134.html
npm cache clean -f
9、npm设置和查看仓库源:https://www.cnblogs.com/wenjunwei/p/10078460.html
a、查看 npm 仓库源:
//查看源,可以看到设置过的所有的源
npm config get registry
b、临时 设置 npm 的下载仓库源:
//本次从淘宝仓库源下载
npm --registry=https://registry.npm.taobao.org install
c、设置 npm 仓库源: 通过设置 npm 仓库的源 也可以 从 cnpm 的源(即淘宝镜像)中下载包。
//设置淘宝源
npm config set registry https://registry.npm.taobao.org //设置公司的源
npm config set registry http://127.0.0.1:4873
d、还原 npm 默认的仓库源: https://blog.csdn.net/AkitoSilver/article/details/90372230 或 https://cloud.tencent.com/developer/article/1148358
npm config set registryhttps://registry.npmjs.org
e、使用 nrm管理 npm 仓库源:https://www.imooc.com/video/20684 或 https://www.jianshu.com/p/66f97cadd1eb
10、npm 查看 某个包的最新版本 或 所有版本: https://blog.csdn.net/cvper/article/details/79543262
11、创建私有npm仓库:https://www.jianshu.com/p/a0216d791dbf
npx命令介绍:https://blog.csdn.net/csdn_yudong/article/details/81670477 或 http://www.ruanyifeng.com/blog/2019/02/npx.html
说明:只是了解下,这个npx下载东西很慢,大部分全局安装的包都是常用的,所以没必要使用npx。
1、npm 5.2.0 的以后,会自动安装npx命令工具。
2、 有了npx,就可以不用全局安装包,npx可以调用项目内的包命令了。
3、npx 运行的命令,本地没有这个包命令时,会安装一个临时的包。使用完后,会自动删除调。http://www.ruanyifeng.com/blog/2019/02/npx.html
比如:create-react-app 这个包,本地电脑没有安装过(无论是全局上还是项目文件上)。当运行 下面命令时
npx create-react-app my-app
npx 没有找到 create-react-app 这个包,就会下载 create-react-app 这个包,安装到一个临时目录中。调用这个目录中的 create-react-app 命令。
4、通过上面的讲解,可以这样理解。npx 的命令,就相当于去掉npx,直接后面执行的命令。如果后面的命令,本机全局下或系统环境没有,就会安装这个命令的包,执行这个命令。这对临时使用一次这个包,就很有用。
yarn 包管理工具
安装 yarn 命令工具: https://blog.csdn.net/qq_16798583/article/details/79591325
npm install -g yarn
1、yarn使用教程:https://www.jianshu.com/p/b306a19a64ee 或 https://www.cnblogs.com/Jimc/p/10108821.html(Yarn 命令详解)
yarn --version // 查看版本号
yarn init // 初始化项目
// 添加依赖包
yarn add [package]
yarn add [package]@[version]
yarn add [package]@[tag] // 依赖项添加到不同依赖项类别
yarn add [package] --dev
yarn add [package] --peer
yarn add [package] --optional
// 升级依赖包
yarn upgrade [package]
yarn upgrade [package]@[version]
yarn upgrade [package]@[tag]
// 移除依赖包
yarn remove [package]
// 安装项目的全部依赖
yarn 或者 yarn install // 等价于 你怕吗install
2、运行某个命令:
yarn run/test // 这个和 npm 一样
3、yarn 设置和查看仓库源:https://blog.csdn.net/qdmoment/article/details/92993902
a、查看 yarn 仓库源: (这个命令和 npm是一样的)
yarn config get registry
b、设置 yarn 仓库源:(这个命令和 npm是一样的)
yarn config set registry https://registry.npm.taobao.org
c、还原 yarn 默认的仓库源:(这个命令和 npm是一样的)
yarn config set registry https://registry.yarnpkg.com
4、yarn 和 npm 命令的一些对比:https://blog.csdn.net/yinge0508/article/details/97313859
a、yarn add taco <==> npm install taco --save
b、yarn add taco --dev <==> npm install taco --save-dev
c、yarn remove taco <==> npm uninstall taco --save
5、npm 和 yarn 换源 都有其他的工具:https://www.jianshu.com/p/010e47ed2bfd?tdsourcetag=s_pcqq_aiomsg
npm 使用nrm
yarn 使用 yrm
包管理工具(npm、yarn)的更多相关文章
- node的包管理工具:yarn和npm
arn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:ht ...
- 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇
接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...
- NodeJS包管理工具——npm入门
如今每个语言体系中都有一个包管理工具,PHP的Composer,Ruby的gem,Python的pip,Java的Maven……当然还有Node.js的npm.有的人会奇怪为何要引入又一个新东西来让我 ...
- 【前端】NodeJs包管理工具NPM
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS部署上的很多问题. 测试是否安装成功,出现版本提示表示安装成功. npm -v NPM常用命令 官方文档:https://www.npm ...
- 更换包管理工具npm为yarn
官网:https://yarnpkg.com/zh-Hans/ 主要考虑: 1. npm管理安装模块依赖的版本不太方便,容易在删除node_modules重新install或在其他机器上新安装时, 安 ...
- JavaScript 包管理工具npm 和yarn 对比
- node.js开发 npm包管理工具 npm 和 cnpm区别
npm 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用. 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用 np ...
- nodejs包管理工具npm
用Node.js安装模块 在某个项目中单独安装的时候,npm会下载所有的文件到你项目中的一个叫做node_modules的文件夹内 全局模块会被安装到{prefix}/lib/node_modules ...
- 包管理工具-yarn
今天知道了一个新的包管理工具叫yarn,总结如下: 如果你知道npm的使用过程,那么yarn你就觉着相见恨晚呐...... npm存在的问题: >安装的时候无法保证速度的一致性 >安全问题 ...
随机推荐
- RCC初始化学习
一.设置RCC时钟 //#define SYSCLK_HSE #define SYSCLK_FREQ_20MHz //#define SYSCLK_FREQ_36MHz //#define SYSCL ...
- 「NOI2016」网格 解题报告
「NOI2016」网格 容易注意到,答案最多为2,也就是说答案为-\(1,0,1,2\)四种,考虑逐个判断. 无解的情况比较简单 如果\(nm\le c+1\),显然无解 如果\(nm=c+2\),判 ...
- 【Flutter学习】之 Flutter 的生命周期
一,概述 Flutter 的生命周期分为两个部分: Widget 的生命周期 App 的生命周期 二,Widget 的生命周期 Flutter 里的 Widget 分为 StatelessWidget ...
- Windows Server服务器之介绍及版本信息
Windows Server是Microsoft Windows Server System(WSS)的核心,Windows的服务器操作系统.每个Windows Server都与其家用(工作站)版对应 ...
- Blazor 组件库 Blazui 开发第一弹【安装入门】
标签: Blazor Blazui文档 Blazui 传送门 Blazor 组件库 Blazui 开发第一弹[安装入门]https://www.cnblogs.com/wzxinchen/p/1209 ...
- c#网络通信框架networkcomms内核解析之一 消息传送
networkcomms.net 来自英国的网络通信框架 官方网址 www.networkcomms.net 中文网址www.networkcomms.cn 在网络通信程序中,本地的类或者对象,要传输 ...
- CookieUtil.java
package util; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.n ...
- Android组件内核之Service内核原理(三)
阿里P7Android高级架构进阶视频免费学习请点击:https://space.bilibili.com/474380680本篇文章将先从以下三个内容来介绍Service内核原理: [startSe ...
- Linux下多线程pthread内存泄露
目标文件:/proc/<pid>/maps 若其中出现了大量的8K左右的内存碎片,则说明出现了内存泄露.同理,如果相应pid进程的maps文件中出现了很多内存碎片,也说明出现了内存泄露. ...
- python中datetime模块中strftime/strptime函数
f==format p==parse 1.获取当前时间(日期格式) from datetime import datetime datetime.now()#输出 datetime.datetime( ...