IM2研究舍 - npm
type: channel
link: https://www.imao2.com/tag/npm/
items: Error: Cannot find module '@npmcli/config'
items: verdaccio 注册用户并发布第一个包（npm 私仓系列二）
items: 使用 verdaccio 搭建局域网（npm 私仓系列一）

Error: Cannot find module '@npmcli/config'
type: item
date: 2024-06-18T17:09:48+08:00
description: 背景：在使用 nvm 安装最新版的 nodejs(20.14.0) 后，想执行 npm 安装 pnpm,结果报错 Error: Cannot find module '@npmcli/config'解决方法：1、去 nvm官网 下载一个 nvm-update.zip ，解压后双击执行选择最新版进行安装。2、在 cmd 中执行 nvm -v ，查看是否已经安装到指定的版本，没问题后下一步，如果失败，那手动卸载 nvm.exe 去下载安装最新版的。3、在 cmd 中执行 nvm uninstall 20.14.0,这里的版本就是你出错的那个版本，不一定是 20.14.0 ，卸载后，再执行 nvm install 20.14.0 重新安装。此时应该就可以了。

verdaccio 注册用户并发布第一个包（npm 私仓系列二）
type: item
date: 2020-09-29T15:48:00+08:00
description: 接上文注册用户执行 npm adduser --registry http://192.168.88.66:4873输入 账户、密码、邮箱写一个自己的库 （假设库名为： coParse）创建文件夹 coParse，并在里面创建个 index.js 文件在文件夹中 cmd 执行 npm init 创建 pageckage.json按提示输入内容（可默认一直往下按回车），其中 index.js 对应上面创建的文件，可在生成后修改 main 参数，表示入口文件写入内容（只是个例子），此处可以学习多看看其他第三方插件如何写库module.exports.coParse = function(data){ return JSON.parse(JSON.stringify(data)) }如果你使用了 nrmnrm 地址添加局域网的源nrm add co http://192.168.88.66:4873co 为自定义的源名切换为局域网的源nrm use co至此，可以全局使用 npm 命令，会优先从局域网下载，没有的话会从上游源下载，下载后会缓存在局域网服务器上如果你没有使用 nrm则在 coParse 根目录添加 .npmrc 文件,并在文件中添加内容为 registry=http://192.168.88.66:4873这样就也可以正常在项目中使用 npm 命令了，但是局域网资源只会在有 .npmrc 文件的根目录才拉取，同样会优先从局域网下载，没有的话会从上游源下载，下载后会缓存在局域网服务器上个人建议使用 nrm 来操作登录第一次发布时需要在 coParse 根目录 cmd 里执行 npm login输入上面注册的 账户、密码、邮箱发布npm publish修改可以看到上面没有描述，下面我们在 package.json 中添加 description 内容直接发布是不生效的，需要修改 version 字段，值比之前的大，如之前是 1.0.0， 那么修改后要为 1.0.1 这样然后再次执行 npm publish 即可。安装如果用了 nrm，则找个空目录，执行 npm init， 然后执行 npm install coParse 就安装好了

使用 verdaccio 搭建局域网（npm 私仓系列一）
type: item
date: 2020-09-29T14:48:00+08:00
description: 使用的 verdaccio 进行搭建环境window 环境下需要先安装 nodejs,安装执行 npm install -g verdaccio运行第一次在 cmd 中 输入 verdaccio 运行，会在 用户/.config/verdaccio/config.yaml 下生成文件在该文件的最后 加上 listen: 0.0.0.0:4873 , 此配置可允许外网 ip 访问, 加上 ip 为 192.168.88.66再次执行 verdaccio 运行，访问 http://192.168.88.66:4873 即可。使用 pm2 启动直接执行 pm2 start verdaccio 即可。可能会报错，此时去 C:\Users\用户名\AppData\Roaming\npm\node_modules\verdaccio\bin 目录的 cmd 执行即可成功其他window下默认都在 C 盘，考虑后面会文件越来越大，所以修改 config.yaml 文件中的 srorage 为其他目录盘storage: E:\verdaccio\storage