nrm管理镜像源、node包管理yarn与npm的区别、常见报错:【不是内部或外部命令、certificate has expired,WARN depreca

218 阅读5分钟

npm

 Node Package Manager ,node包管理器 

是nodeJS的一个程序包管理和分发的管理工具,npm完全用 JavaScript 写成,

它可以让全世界与Web前端相关开发者共享代码,非常方便的使用各种插件、库和框架

windows:npm安装

windows:Nodejs安装教程

Node.js — Download Node.js®

yarn

npm install -g yarn

yarn由Facebook为解决npm的一些问题而创建的

快速

  • 本地缓存+并行下载 - Yarn并行下载,还可以直接从硬盘缓存中读取包,因此可以显著提高速度。
  • 网络连接问题处理 - 当Yarn发现任何网络连接问题时,它会自动重试请求,保存响应并继续构建 - 这使得它更容易处理比npm更可靠且快速的环境。

稳定

  • 确定性安装 - Yarn能够在包含区别式锁文件(yarn.lock)的情况下进行精确的依赖项安装,每次运行生成相同的代码版本,与开发者上次运行相同。npm也有类似的功能,但是许多开发人员选择使用Yarn锁定其依赖关系以消除任何可能的不确定性。
  • 强制命令 - 通过添加--force标志,Yarn可以强制执行某些操作。这可能看起来像是一种强制手段,但它实际上是保证操作按期望进行的一种方法。npm也有许多命令选项,但是Yarn的操作强迫执行机制通常要好得多。

使用

help查看命令列表

npm help                                                       
npm

Usage:

npm install        install all the dependencies in your project
npm install  add the dependency to your project
npm test           run this project's tests
npm run      run the script named
npm -h   quick help on
npm -l             display usage info for all commands
npm help    search for help on
npm help npm       more involved overview

设置镜像源registry

查询当前使用的镜像源

npm get registry

设置为淘宝镜像源

npm config set registry registry.npmmirror.com/

还原为官方镜像源

npm config set registry registry.npmjs.org/

查询当前使用的镜像源

yarn config get registry

设置为淘宝镜像源

yarn config set registry registry.npmmirror.com/

还原为官方镜像源

yarn config set registry registry.yarnpkg.com/

npm、yarn、pnpm 最新国内镜像源设置和常见问题解决_npm 国内源-CSDN博客

安装全部包

按照package.json一键安装包,并将包及它的所有依赖项保存进yarn.lock

npm/yarn install,可简写为npm i

安装单个包

yarn add

npm install

npm install 包@版本号

  • --save 参数告诉 npm 在安装包的同时更新 package.json 文件中的 dependencies 字段。
  • 自 npm 5.0.0 版本起,安装包时自动保存依赖信息到 package.json 文件中。

移除单个包

yarn remove

npm uninstall

更新

yarn upgrade

npm update

nrm:镜像管理包

npm install -g nrm 安装

nrm ls 查看镜像源列表

nrm use 镜像源名

安装包失败

一般node、npm版本与原项目相差不大没问题

原因

a.镜像源旧,导致包和官方镜像源不一致,依赖冲突

b.有时yarn不成功可以用npm安装

c.无法安装:拷贝覆盖,mac可能遇到无法跳过的安全验证问题

复原安装之前的环境

a.清空未安装成功的缓存

npm/yarn cache clean

b.删除node_modules安装的依赖包+lock文件

如果安装错了,可以删除重安

rm -rf node_modules

rm -rf 命令是递归地强制删除目录,不会将文件移动到垃圾桶或回收站,而是直接从文件系统中删除。

报错

全局/局部安装与环境变量

安装一个命令行工具(如 npmyarngit 等),这些工具的可执行文件通常位于 /usr/local/bin 或类似路径。(局部安装通常是  ~ /.local/bin

为了能够在任何目录直接使用这些命令,需要将包含这些目录添加到系统环境变量 $PATH 中

yarn 不是内部或外部命令

将yarn的路径配置进环境变量PATH

配置完环境变量,都必须重启cmd,才会生效xxx 不是内部或外部命令,也不是可运行的程序或批处理文件错误

xx  不是内部或外部命令,也不是可运行的程序或批处理文件错误

npm install 或者 yarn add xx

xx  command not found

npm install 或者 yarn add xx

cross-env: command not found

cross-env设置跨环境的环境变量的Node.js的库

npm install 或者 yarn add xx

最后通用方法:

npm cache clean --force

npm install --save-dev cross-env

原因:全局安装的cross-env没有正确地链接到本地

npm link cross-env

原因:本地安装 node_modules/.bin目录没有添加到了PATH环境变量中

需要检查你的shell环境配置文件(如.bashrc.bash_profile.zshrc等),确认是否有相关的路径设置出现问题。

yarn/npm certificate has expired:HTTPS 证书过期

原因

a.淘宝镜像过期

第一步:清空缓存
npm cache clean --force

第二步:重新设置新的镜像源
npm config set registry registry.npmmirror.com

第三步:使用npm安装工具,没有再报错了
npm install

b.镜像源不符合SSL安全套接协议

如果还是更新镜像源还是不行的话,禁用ssl

npm cache clean --force

npm config set strict-ssl false
npm install

npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive ...

原因:tar版本过低,需要升级

tar是UNIX/Linux系统上的压缩文件格式

解决

1.确认Node >= 14.0.0 and npm >= 5.6
2.npm install -g tar