a

需要基础:会安装 Node.js

参考文章:

从零开始,手把手教你开发并发布一个 npm 包(超详细新手版)_npm 发布-CSDN博客

开发并发布一个属于自己的包(npm)创建一个npm包涉及几个步骤,包括设置你的项目结构、编写代码、编写文档、测试你的代码 - 掘金

Node.js 工具包部署完整指南

我来为您系统地讲解 Node.js CLI 工具从开发到发布的完整流程!


一、项目结构回顾

这是我们当前的项目结构:

1
2
3
4
5
hexo-migrate-cli/
├── index.js # 主入口文件(必须有 #!/usr/bin/env node)
├── package.json # 项目配置文件(核心!)
├── lib/ # 核心代码目录
└── node_modules/ # 依赖包(npm install 后生成)

二、package.json 配置详解

这是最重要的文件!让我为您解析关键部分:

1
2
3
4
5
6
7
8
9
10
11
12
{
"name": "hexo-migrate-cli", // 包名(必须全网唯一!)
"version": "1.0.0", // 版本号(语义化版本)
"bin": { // CLI 命令配置(核心!)
"hexo-migrate": "./index.js" // 命令名 → 入口文件
},
"main": "index.js", // 模块入口(可选,用于 require)
"dependencies": { ... }, // 生产依赖
"devDependencies": { ... }, // 开发依赖(可选)
"author": "Your Name", // 作者信息
"license": "MIT" // 开源协议
}

关键点

  • bin 字段:让您的包可以作为命令行工具使用
  • index.js 开头必须有 #!/usr/bin/env node(shebang)
  • name 不能与 npm 上已有的包重名

三、本地开发与测试流程

1. 安装依赖

1
npm install

这会根据 package.json 下载所有依赖到 node_modules 目录。


2. 本地测试(开发阶段)

方法 A:直接运行

1
node index.js --help

方法 B:全局链接(推荐)

1
2
3
4
5
# 在项目根目录下运行
npm link

# 现在可以在任何地方直接使用命令!
hexo-migrate --help

npm link 做了什么?

  1. 创建全局符号链接(shortcut)
  2. 让您的命令可以在任何目录下使用
  3. 修改代码后立即生效,无需重复安装

3. 取消链接

1
npm unlink

四、发布到 npm 仓库

1. 准备工作

1.1 注册 npm 账号

访问 https://www.npmjs.com/ 注册账号

1.2 检查包名是否可用

1
2
3
# 在 npm 上搜索是否已存在同名包
npm view hexo-migrate-cli
# 如果报错 404,说明包名可用!

1.3 完善 package.json

确保必填字段都填好了:

  • name
  • version
  • description
  • author
  • license

2. 登录 npm

1
2
npm login
# 按提示输入用户名、密码、邮箱

验证登录:

1
2
npm whoami
# 应该显示您的用户名

3. 发布!

1
npm publish

🎉 恭喜!您的包已经发布到 npm 了!


4. 版本更新

当您修改了代码后,需要更新版本号并重新发布:

1
2
3
4
5
6
7
# 语义化版本更新
npm version patch # 1.0.0 → 1.0.1(小修复)
npm version minor # 1.0.0 → 1.1.0(新功能)
npm version major # 1.0.0 → 2.0.0(重大变更)

# 重新发布
npm publish

五、其他人如何使用您的包

1. 全局安装(推荐用于 CLI 工具)

1
2
3
4
npm install -g hexo-migrate-cli

# 现在可以直接使用
hexo-migrate --help

2. 项目中安装

1
2
3
4
npm install --save-dev hexo-migrate-cli

# 通过 npx 使用
npx hexo-migrate --help

六、发布到 GitHub

1. 初始化 Git 仓库

1
git init

2. 创建 .gitignore(我们已经有了)

1
2
3
node_modules/
.DS_Store
*.log

3. 提交代码

1
2
git add .
git commit -m "Initial release"

4. 创建 GitHub 仓库

  1. 访问 https://github.com/new
  2. 创建名为 hexo-migrate-cli 的仓库
  3. 不要初始化 README(我们已有代码)

5. 推送到 GitHub

1
2
3
git remote add origin https://github.com/yourusername/hexo-migrate-cli.git
git branch -M main
git push -u origin main

七、完整的开发→发布流程总结

1
2
3
4
5
6
7
8
9
10
11
12
13
1. 开发代码

2. npm install(安装依赖)

3. npm link(本地测试)

4. 测试功能

5. npm login(登录 npm)

6. npm publish(发布到 npm)

7. git init → git add → git commit → git push(发布到 GitHub)

八、常见问题

Q: 发布时提示包名已存在怎么办?

A: 改个独特的名字,比如 hexo-migrate-cli-yourname

Q: 我想在本地测试,不发布到 npm 可以吗?

A: 当然!使用 npm link 就可以在本地全局使用了

Q: 如何撤销发布的包?

A: npm unpublish hexo-migrate-cli --force(但不建议,超过 24 小时就不能撤销了)


现在您已经了解了完整的 Node.js CLI 工具发布流程!按照这些步骤,您就可以把我们的 hexo-migrate-cli 发布到 npm 和 GitHub 了!


Hexo-save 整理发布全流程

0.安装 Node.js 和 npm

1.前往npm 官网注册账号

npm | Home

2.在终端登录npm账号

1
2
3
4
# 首先查询当前使用的npm源
npm config get registry
# 如果输出不是 https://registry.npmjs.org/,先切换到官方源:
npm config set registry https://registry.npmjs.org/
1
2
3
4
5
6
# 登录npm
npm login
# 如果你的账号开启了「双因素认证(2FA)」,用普通方式登录 CLI 无法满足发布的安全校验
# 强制用 2FA 方式登录
npm login --auth-type=legacy
# 输入 Username\Password\OTP
1
2
# 检查自己的npm登陆状态
npm whoami

补充:登录令牌的保存位置

登录成功后,令牌会保存在全局 .npmrc 文件中(路径:C:\Users\1\.npmrc),你可以查看:

1
type C:\Users\1\.npmrc

会看到类似 //registry.npmjs.org/:_authToken=npm_xxxxxxx 的内容,这就是登录凭证。

1
2
3
# 检查包名是否可用
npm view xxxxxx
# 如果报错 404,说明包名可用!
1
2
# 发布
npm publish
1
2
3
# 检查是否发布成功
npm view hexo-save version
# 返回 1.0.0 # 发布成功