目录

npm

官网

npm install packageName

npm i packagename@版本号

安装git上发布的包

npm ci

注意(对比npm i)

npm outdated

npm update

npm init -y

npm list

npm list | grep packageName

npm install --production

npm view packagename versions

npm config get registry

npm config set registry https://registry.npm.taobao.org

上传自己的包

npm adduser

npm publish

pnpm

安装

相关概念

硬链接(Hard Link)

软连接(Symbolic Link)

存储方式

官网与详细介绍

yarn

中文官网

安装

命令行

yarn add packageName@版本号

yarn|yarn install

yarn upgrade packageName@版本号

yarn remove packageName

yarn dlx mocha --version


npm

NodeJS包管理和分发工具。

官网

npm

npm install packageName

安装依赖包。

--S(--save):默认的,用于写入package.json生产环境文件。

-D(--save-dev):用于写入package.json的开发环境文件。

-g(-global):全局安装,非-g的都为局部安装。下面是-g安装目录

mac全局安装目录为/User/你的用户名/.nvm/versions/node/nvm版本/bin

window全局安装目录为C:\Users\你的用户名\AppData\Roaming\npm\node_modules

局部安装通过node_modulet/.bin/packageName运行非-g下载的模块命令。

npm i packagename@版本号

自动安装指定版本的包,除指定的版本号,其余版本号自动取最新的。

版本号包括:主版本号.次版本号.补丁号

package.json中^指锁定主版本号,~指锁定主版本号和次版本号,空指锁定整个版本号,*指取最新版本

安装git上发布的包

# 这样适合安装公司内部的git服务器上的项目
npm install git+https://git@github.com:lurongtao/gp-project.git

# 或者以ssh的方式
npm install git+ssh://git@github.com:lurongtao/gp-project.git

下图红框是通过git安装的包

npm ci

根据package-lock.json(npm i后生成的文件,用于锁定版本和记录依赖)文件安装依赖。相比npm i速度提升明显。也支持--production参数。

注意(对比npm i)

  • npm ci 不能用来安装单个依赖,只能用来安装整个项目的依赖
  • npm ci 会检测如果 node_modules 已经存在,则先删除再进行安装操作
  • 不会更新 package.json 或 package-lock.json 文件,整个安装过程是锁死的。
  • package-lock.json 、npm-shrinkwrap.json 文件都不存在会报错
  • lock 与 package.json 中版本不匹配,npm ci 直接报错中断,而不是更新 lock 文件。

推荐使用:npm ci --cache .npm --quiet --no-progress 关闭log和进度,可加快下载。

npm outdated

显示package.json中锁定版本位下其它版本位不是最新的包。

npm update

将package.json中包的锁定版本位下的其它版本位为变为最新的。

npm init -y

生成package.json模块配置文件。

此时通过npm run dev命令相当于命令行中输入./node_modules/.bin/gulp -v。

注意下面的红色框部分可以去除,运行npm run dev命令时会自动到全局去找对应的文件,没有就会去当前路径下的node_modules中寻找。

在scripts上写的脚本,通过命令行运行的环境是node的环境。

npm list

查看所有安装包的版本和依赖的安装包版本。

npm list | grep packageName

查看指定安装包的版本和依赖的安装包版本

npm install --production

只安装package.json中的生产环境包。

npm view packagename versions

查看指定包的所有版本

npm cache clean --force

清除npm缓存(下载出错后一直下载不了时使用)

npm config get registry

获取远程仓库路径。

npm config set registry https://registry.npm.taobao.org

设置远程仓库地址为淘宝镜像路径,默认的远程仓库地址为http://registry.npmjs.org。

module.exports = 变量名

也可以直接在exports上挂载变量,exports为module.exports上的引用(不能直接给exports赋值)

require('./路径')   不能直接写文件名开头,引入的是export的引用。

npm install express-generator -g命令安装

express -h选项可以列出所有可用的命令行选项

express -e直接生成服务端项目

上传自己的包

登陆npm官网,注册账号密码,执行下面命令。注意上传的包要有packgage.json文件。package.json中name为上传的包名,version为版本号,description为readme中介绍。

npm adduser

登陆用户。注意远程镜像仓库应该为http://registry.npmjs.org。如果不是需重新设置原创地址并重新登陆。

npm publish

上传自己的包。

pnpm

一个包管理工具,和npm/yarn没有区别,主要优势在于

  • 包安装速度极快
  • 磁盘空间利用效率高

安装

npm i pnpm -g

相关概念

硬链接(Hard Link)

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。其原因如上所述,因为对应该目录的索引节点有一个以上的连接。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。也就是说,文件真正删除的条件是与之相关的所有硬连接文件均被删除。

软连接(Symbolic Link)

软链接文件有类似于Windows的快捷方式。它实际上是一个特殊的文件。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。

存储方式

pnpm 内部使用基于内容寻址的文件系统来存储磁盘上所有的文件:

  • 不会重复安装同一个包。使用npm/yarn 的时候,如果100个包依赖lodash ,那么就可能安装了100次lodash ,磁盘中就有100个地方写入了这部分代码。但是pnpm会只在一个地方写入这部分代码,后面使用会直接使用hard link
  • 即使一个包的不同版本,pnpm 也会极大程度地复用之前版本的代码。举个例子,比如 lodash 有 100 个文件,更新版本之后多了一个文件,那么磁盘当中并不会重新写入 101 个文件,而是保留原来的 100 个文件的 hardlink,仅仅写入那一个新增的文件

官网与详细介绍

动机 | pnpm 中文文档 | pnpm 中文网

滑动验证页面

yarn

包管理和分发工具。下面仅列出部分和npm命令行有区别的命令。

中文官网

安装

安装 | Yarn 中文文档

命令行

CLI Introduction | Yarn

yarn add packageName@版本号

安装依赖包。

--dev(-D):开发环境依赖,用于写入package.json的开发环境文件。
--peer(-P):同等依赖,或者叫同伴依赖(当多个包同时依赖于1个包时,需要统一这个包的版本时使用)。
--optional(-O):可选依赖,如果有一些依赖包即使安装失败,安装替代的包来使项目仍然能够运行。就可以使用optionalDependencies。注意packageName中optionalDependencies会覆盖dependencies中的同名依赖包,所以不要在两个地方都写。

yarn|yarn install

安装所有依赖包。

yarn upgrade packageName@版本号

升级依赖包到指定版本。

yarn remove packageName

卸载指定依赖包。

yarn dlx mocha --version

需要yarn2的版本,相当于npx mocha --version。用于调用项目内部安装的模块等。

nvm、nrm、npx使用(安装、基本命令、参数、curl、wget)_YF-SOD的博客-CSDN博客

npm、pnpm和yarn使用(官网、安装、命令行、上传自己的包、包版本号详解、更新卸载包、查看所有版本、同等依赖peer、可选依赖optional)相关推荐

  1. linux下备份mysql上传到网盘_Linux命令行上传文件到百度网盘

    最近在学习 MySQL 的 bin-log 时候考虑到数据备份的问题,突然想到如果能将数据通过 Linux 命令行方式备份到百度网盘,那是一件多么牛逼的事情.百度网盘有免费的 2TB 存储空间,而且有 ...

  2. Linux命令行上传文件到百度网盘

    最近在学习 MySQL 的 bin-log 时候考虑到数据备份的问题,突然想到如果能将数据通过 Linux 命令行方式备份到百度网盘,那是一件多么牛逼的事情.百度网盘有免费的 2TB 存储空间,而且有 ...

  3. linux给百度网盘传文件夹,[转]Linux命令行上传文件到百度网盘

    安装软件工具:python apt-get install python-pip pipinstallrequests pipinstall bypy 受权登录:api 执行 bypy info,显示 ...

  4. linux同步到云盘,Linux命令行上传文件到百度网盘

    百度云/百度网盘Python客户端github项目 系统环境: linux与ma + python3.6 安装依赖包 pip install requests pip install bypy==1. ...

  5. windows安装pscp工具,通过命令行上传到linux服务器

    三步完成: 下载pscp工具 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html 拷贝到 C:\Windows\System ...

  6. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...

  7. ROS2官网安装教程补充

    ROS2官网安装教程补充 1. 问题 1.1. 源慢 1.2. source 1.3. colcon 2. 解决办法 2.1. 源慢 2.2. source 2.3. colcon 1. 问题 按照 ...

  8. Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 16.04.1 LTS ...

  9. 无需破解,官网安装Visual Studio 2013社区版

    无需破解,官网安装Visual Studio 2013 下载安装用.iso光盘映像 访问较旧版本下载页面 如图所示,找到Visual Studio 2013,点击下载,跳转到下载页面. 跳转到下载页面 ...

最新文章

  1. Python+OpenCV 图像处理系列(1)— Ubuntu OpenCV安装、图片加载、显示和保存
  2. 飞机上一般是什么操作系统?
  3. 普渡大学计算机专业,普渡大学计算机介绍
  4. STM32实现IAP功能之一
  5. driver.class.php line: 109,thinkphp3.2.3 无法加载数据库驱动: Think\Db\Driver\
  6. C/C++ 一段代码区分数组指针|指针数组|函数指针|函数指针数组
  7. Python3——多线程之threading模块
  8. realm android,Realm for Android快速入门教程
  9. sql机器学习服务_机器学习服务–在SQL Server中配置R服务
  10. project facets中没有dynamic_C++强制类型转换操作符 dynamic_cast
  11. 地老天荒只是一个华丽的传说
  12. QSS按钮样式设置的坑,按下(pressed)时按钮颜色不变化
  13. AD库转allegro步骤
  14. 苹果手机怎么修改dns服务器,苹果手机怎么设置DNS iPhone8更改DNS详细图文教程
  15. PW4052锂电池充电管理芯片2.5A 单节(多并)锂 电池充电管理
  16. 网络中心化 和 去中心化
  17. 『天涯杂谈』衣食住行小窍门
  18. 如何应对美国对开源项目的出口管制?这是Linux基金会的建议
  19. 建筑有言丨如果大学有一个最好的专业,那就是建筑学
  20. FFmpeg 录制桌面、麦克风、摄像头

热门文章

  1. java 时间提醒功能_提醒软件【送给她】——如果工作时间长了,提醒一下,该休息一下了,休息时长可设置,单位是秒...
  2. 每日学术速递5.20
  3. Mac外接2k屏幕如何开启Hidpi解决字体模糊等问题
  4. 转载--PLC、PAC、PC-Based、软PLC
  5. 股票投资量化是什么?
  6. 做软件,中国人不比别人差 专访微软中国研究院院长:张亚勤 (转)
  7. 计算机医学英语论文,医学英语科普文章,English popular science writing in medicine,音标,读音,翻译,英文例句,英语词典...
  8. 详解EBS接口开发之WIP模块接口
  9. 权限控制(delphi actionlist)
  10. 2015最新iOS QQ登录(64位)