nicenote/docs/tools/npm.md
2024-01-18 16:29:26 +08:00

1.6 KiB
Raw Permalink Blame History

nav group
title path
工具 /tools
title order
工具 2

npm 发布流程

传统的 npm 包发布流程

发布 npm 包

一、初始化仓库

- npm init

二、登录

- npm config set registry=<http://registry.npmjs.org> 切换回官方源
- [http://registry.npm.taobao.org/](http://registry.npm.taobao.org/)如果是淘宝源)
- npm login

查看登录状态npm whoami

三、发布

- npm publish

发布 @ 开头的包需要加上 --access public

四、删除包

- npm unpublish nicecode-tools --force

衍生产物pnpm

该产品主要是为了解决 npm 的深度依赖,将所有的 node_modules 依赖扁平化到最外层,并且通过软链接的形式链接到各个子包,达到多包共用缓存依赖的效果。

安装

- npm i pnpm -g

命令列表

--filter

在 nicecode 的所有包里添加 package1

- pnpm add package1 --filter @nicecode/*

-w

在根目录下安装依赖时,需要该参数作为二次确认

- pnpm add package1 -w

查看依赖包版本

- $ npm i npm-check -g
- 交互式选择所有 umi 相关依赖更新
- $ npm-check -u
- # 指定 npm 客户端

- NPM_CHECK_INSTALLER=cnpm npm-check -u

错误大全

  • *报错一: npm ERR! unscoped packages cannot be private : jzx-deom
    • ·处理npm publish --access public
  • *报错二:"Jzx-deom" is invalid for new packages : Jzx-deom
    • ·处理:发布包不允许大写字母
  • 报错三You do not have permission to publish "deom". Are you logged in as the correct user? : deom
    • ·处理:换个包名称,包已存在