好奇一些第三方的 node 命令行工具是如何制作与发布的,于是研究了下以便以后发布自己的命令行工具作为参考

首先在 package.json 中定义几个必要的字段

  • cli 名称定义为 sepcontacto
  • 版本号 1.0.0
  • 指定 cli 入口 "bin": "./contact.js"
  • 设置 preferGlobal
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"name": "sepcontacto",
"version": "1.0.0",
"license": "MIT",
"description": "A command-line contact management system",
"preferGlobal": true,
"bin": "./contact.js",
"dependencies": {
"commander": "^2.15.1",
"inquirer": "^5.2.0",
"mongoose": "^4.9.2"
}
}

注册账号

在 npmjs.com 注册账号

同时可以在 https://www.npmjs.com/~septenary 可以查看自己账号下发布的 package

给 npm 配置账号信息

1
npm adduser

发布 package

cd 到要发布的 package 目录下,执行

1
npm publish

再去 https://www.npmjs.com/~septenary 可以看到 package 已经发布成功

验证

发布成功后,就可以像普通 package 那样安装自己的包了

1
npm install sepcontacto -g

你会看到 我们的 cli 添加到了 /usr/local/bin 中

/usr/local/bin/sepcontacto

接下来就可以愉快玩耍 cli 了


参考: