美文网首页
手写一个命令行工具到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发布包

    在学习这篇教程之前,你需要先了解NodeJs,NPM和一些常用的shell命令! 从零开始创建一个命令行工具 1....

  • 【了解npm和node中】npm包的开发和发布

    开发一个npm包 首先创建一个项目例如dom-npm 命令行cd到该目录下;输入: 该操作在文件夹里自动生成发布包...

  • 发布npm包到npm

    创建一个项目根文件夹,在里面创建一个 node_modules文件夹 在node_modules里面创建一个文件夹...

  • npm包安装

    1.上传自己编写的包和命令行工具 2.下载别人写好的包和命令行工具 一、查看版本 npm -v

  • 脚手架搭建

    1、npm 下载vue/cli包 命令行工具 npm i vue/cli -g 2、vue create myte...

  • 发布包到npm

    1. Npm init 2.package.json 3.Create index.js 4. 创建脚本 5.登录...

  • 小程序开发本地npm的使用

    开发中复用的代码通常会封装成npm包,发布到npm源,项目中再依赖这个包。如果包的源码改动,需要先发布到npm上再...

  • freeCodeCamp 旅途19 - 用 npm 来管理模块

    npm Node 包管理(npm)是一个是开发者共享和管理模块(或者包)的命令行工具, 它由 JavaScript...

  • npm发布自己的npm包及使用

    [TOC] ### 1.npm 发布自己包到npm平台 1.下载安装node js 注意:发布包的名字不能跟npm...

  • Bower 简明使用指南

    Bower是一个包管理工具,可以通过命令行直接下载需要的内容包及其依赖包到指定的目录。 常用命令 安装 npm i...

网友评论

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

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