npm
安装 node.js 自带包管理工具 npm
NodeJS 包管理工具
镜像源
npm 默认镜像源是 https://registry.npmjs.org/
pnpm
安装:npm i -g pnpm
同一个包 pnpm 只会安装一次,磁盘中只有一个地方写入,后面再次使用都会直接使 hardlink。即使一个包的不同版本,pnpm 也会极大程度地复用之前版本的代码。举个例子,比如 lodash 有 100 个文件,更新版本之后多了一个文件,那么磁盘当中并不会重新写入 101 个文件,而是保留原来的 100 个文件的 hardlink,仅仅写入那一个新增的文件。
npm yarn 和 pnpm 之间命令的区别
npm | pnpm | yarn | |
---|---|---|---|
Install all | npm install | pnpm install | yarn |
Install | npm install [p] | pnpm add [p] | yarn add [p] |
-D | npm install [p] -D | pnpm add -D [p] | yarn add [p] -D |
-g | npm install [p] -g | pnpm add -g [p] | yarn global add [p] |
Uninstall | npm uninstall [p] | pnpm remove [p] | yarn remove [p] |
Update | npm update [p] | pnpm update [p] | yarn upgrade [p] |
*p: package
nrm
npm 的镜像源管理工具
安装:npm install -g nrm
使用
直接运行基础命令,可以看到该命令的解析
查看
$ nrm ls
* npm ---------- https://registry.npmjs.org/
yarn --------- https://registry.yarnpkg.com/
tencent ------ https://mirrors.cloud.tencent.com/npm/
cnpm --------- https://r.cnpmjs.org/
taobao ------- https://registry.npmmirror.com/
npmMirror ---- https://skimdb.npmjs.com/registry/
nrm current // 查看当前源。
注意切换源之后,我们安装依赖仍使用 npm i
的方式来进行安装。
切换
nrm use yarn
增加
适用于企业内部定制的私有源
nrm add <registry> <url>
*registry: 源名
*url: 源地址
比如使用 Verdaccio 在本地搭了一个 NPM 平台,然后通过 nrm add local http://localhost:4873/ 来指定源。
删除
nrm del <registry>
测试源的响应时间
nrm test <registry>
问题
一:无法加载文件 C:\Program Files\nodejs\pnpm.ps1
因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micros
原因:现用执行策略是 Restricted(默认设置)
解决方法:
1、使用管理员的身份打开powershell, win + x
2、输入 set-executionpolicy remotesigned 后按y,问题得到解决
二:Run “pnpm setup” to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.
Unable to find the global bin directory
Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.
原因: PNPM 工具引起的,它指示无法找到全局的二进制文件目录。
解决方法:
方法一: “pnpm setup” 自动设置环境变量
pnpm setup
方法二:设置pnpm全局bin路径,global-bin-dir 配置
pnpm config set global-bin-dir <path-to-directory>
*path-to-directory: 想要设置的全局二进制文件目录的路径
其它:
pnpm store path // 查看store存储目录的路径
pnpm config set store-dir <path-to-directory> // pnpm全局仓库路径(类似 .git 仓库)
pnpm config set global-dir <path-to-directory> // pnpm全局安装路径
pnpm config set global-bin-dir <path-to-directory> // pnpm全局bin路径
pnpm config set state-dir <path-to-directory>// pnpm创建pnpm-state.json文件的目录
pnpm config set cache-dir <path-to-directory> // pnpm全局缓存路径
三:ERROR The configured global bin directory “xxxxxx” is not in PATH
原因:忘记安装依赖
解决方法:
pnpm install