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)的更多相关文章

  1. node的包管理工具:yarn和npm

    arn是Facebook发布的一款依赖管理工具,它比npm更快.更高效. NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题. 一.yarn官方网站: 英文官网:ht ...

  2. 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇

    接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...

  3. NodeJS包管理工具——npm入门

    如今每个语言体系中都有一个包管理工具,PHP的Composer,Ruby的gem,Python的pip,Java的Maven……当然还有Node.js的npm.有的人会奇怪为何要引入又一个新东西来让我 ...

  4. 【前端】NodeJs包管理工具NPM

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS部署上的很多问题. 测试是否安装成功,出现版本提示表示安装成功. npm -v NPM常用命令 官方文档:https://www.npm ...

  5. 更换包管理工具npm为yarn

    官网:https://yarnpkg.com/zh-Hans/ 主要考虑: 1. npm管理安装模块依赖的版本不太方便,容易在删除node_modules重新install或在其他机器上新安装时, 安 ...

  6. JavaScript 包管理工具npm 和yarn 对比

  7. node.js开发 npm包管理工具 npm 和 cnpm区别

    npm 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用. 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用 np ...

  8. nodejs包管理工具npm

    用Node.js安装模块 在某个项目中单独安装的时候,npm会下载所有的文件到你项目中的一个叫做node_modules的文件夹内 全局模块会被安装到{prefix}/lib/node_modules ...

  9. 包管理工具-yarn

    今天知道了一个新的包管理工具叫yarn,总结如下: 如果你知道npm的使用过程,那么yarn你就觉着相见恨晚呐...... npm存在的问题: >安装的时候无法保证速度的一致性 >安全问题 ...

随机推荐

  1. php 后台转发和重定向的区别及kohana框架当前url加参数方式

    1.重定向是浏览器行为,浏览器地址有变化:转发是后台服务器完成, url地址不变化. 2.kohana获取URL 当前url是http://soyoung.kohana.com/blog/add?id ...

  2. CDN技术详解(七)

    动态内容加速服务的实现 随着Web2.0的兴起,产生了动态网页.个性化内容.电子交易数据等内容的加速,这些就涉及了动态内容加速技术. 静态内容的加速,都是对于表现层的加速,对于动态页面等内容的加速,则 ...

  3. 国内网络安装ubuntu软件慢的解决方法

    以安装scikit-image为例: pip3 install scikit-image==0.13.0 -i https://pypi.tuna.tsinghua.edu.cn/simple 或者 ...

  4. vue事件修饰符(once:prev:stop)

    vue事件修饰符(once:prev:stop) stop修饰符  效果如下: 当你鼠标在这个div里的时候,x与y的值:会随着鼠标的变化而变化.但是当鼠标放在stopMoving的时候,x与y的值是 ...

  5. php学习笔记(初学者入门)

    <?php其他 isset() 变量是否存在 boolean empty() 检查变量是否存在,并判断值是否为非空或非0 void unset() 销毁变量 header('Content-Ty ...

  6. ARC103

    ARC103E Tr/ee 首先没有叶子显然不科学,\(s_n\)是1也不怎么科学,\(s_i != s_{n-i}\)同样不怎么科学 特判掉上述情况后先把root记为1,链接(root,i+1)如果 ...

  7. Neo4j-Cypher查询语言-函数

    断言函数(Predicate functions)  函数名称 函数说明 ALL(identifier in collection WHERE predicate) 判断一个断言(predicate) ...

  8. SpringBoot传递单一参数时@RequestParam和@RequestBody的区

    用SpringBoot框架做项目时,经常需要前端给后端传递参数,如果需要多条参数,通常的做法是把这些参数封装为一个对象来传递,前端用POST方式调用.但有时会遇到后端只需要一条参数(比如一个Strin ...

  9. NFS挂载error:reason given by server: Permission denied

    首先你得看看你的NFS服务有没有启动 然后你看看你要mount的文件夹有没有在NFS主机共享 然后再看权限对没对

  10. Java的部分问题和小结

    2015/9/6 ThreadLocal:该类提供了线程局部变量,这样可以生成对每个线程唯一的局部标识符. 2015/9/18 1.乱码问题:  js:xdata = encodeURI(encode ...