美文网首页
手写一个命令行工具到npm发布包

手写一个命令行工具到npm发布包

作者: 忍不住的k | 来源:发表于2019-03-28 17:27 被阅读0次

    在学习这篇教程之前,你需要先了解NodeJs,NPM和一些常用的shell命令!

    从零开始创建一个命令行工具

    1.创建一个项目

    $ mkdir my-cli
    $ cd my-cli
    $ npm init
    

    通过上面的步骤,创建了我们的项目my-cli,并且初始化了package.json文件

    {
      "name": "my-cli",
      "version": "0.0.1",
      "description": "cli demo",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "license": "ISC",
    }
    
    

    2.新建一个可执行文件

    在my-cli文件下创建bin/index.js文件,在js文件的头部加上一行代码使其成为一个可执行文件

    #!/usr/bin/env node
    
    console.log("hello word!")
    

    3.指定bin/index.js为执行文件

    修改package.json的bin字段

    {
      "bin": {
        "my-cli": "bin/index.js"
      }
    }
    

    4.本地调试cli包 :npm link 命令

    我们在项目根目录下执行npm link命令后,就可以全局使用my-cli命令了。
    测试一下:

    $ my-cli
    
    Hello world!
    

    5.发布为npm包

    1)去npm官网注册一个账号,然后去邮箱验证通过
    2)输入命令npm addusernpm login按照提示输入账号密码 ( 注:输入密码时不会显示出来)
    3)在项目根目录输入命令npm publish ,成功后再你的npm网站就能看到这个package

    npm publish 发布报错,可能有一下两个原因:
    • 仓库被设成了淘宝镜像库 ,改回npm set registry "https://registry.npmjs.org/"

      image.png
    • 意思是你没有发布这个包的权限,确认你登录的是这个包的用户,也就是说包名重复了,修改package.json文件中的name


      image.png

    6. 退出登录 npm logout

    7. 删除包

    npm unpublish [<@scope>/]<pkg>@<version>
    npm unpublish [<@scope>/]<pkg> --force
    示例:

    image.png

    相关文章

      网友评论

          本文标题:手写一个命令行工具到npm发布包

          本文链接:https://www.haomeiwen.com/subject/masqbqtx.html