美文网首页javaScript备忘录
npm常用命令、发布自己的npm、更新和删除npm包

npm常用命令、发布自己的npm、更新和删除npm包

作者: hk_sky | 来源:发表于2019-12-11 14:33 被阅读0次

    npm   =>     Node  Package   Manager       是nodeJs的包管理工具

    npm 官网    http://www.npmjs.org

    npm常用命令

    npm   -v                          //查看版本号

    npm   --help                    //查看npm所有命令

    npm   adduser                //添加 npm 账号,也可以去npm官网注册

    npm   init                        //构建项目说明,生成 package.json文件

    npm   view    jquery   versions               //查看历史版本信息(最多只能显示100条)        

    npm   view   node   versions  --json       //查看所有版本信息

    npm   view   jquery   version                  //查看最新版本信息

    npm   info   jquery                                  //查看所有版本及jquery的信息

    npm   ls   jquery                                     //查看本地安裝的jquery版本

    npm   ls   jquery   -g                               //查看全局安裝的jquery版本

    npm   i   jquery@3.2.3                           //安裝指定版本 

    npm   i   jquery                                       //安装推荐的版本

    npm   i   jquery@latest                          //安裝指定、最新版本 

    npm   install   gulp     简写    npm   i   gulp     //安装依赖

    npm   install    gulp   -S  -D     

    npm   install    gulp@3.0.0   --save    

    npm   update   gulp            //可以把当前目录下node_modules子目录里边的对应模块更新至最新版本      

    npm   update   gulp -g        //可以把全局安装的对应命令行程序更新至最新版  

    npm   uninstall    gulp@3.0.0   --save           //卸载依赖

    npm   install   cnpm   -g  --registry= https://registry.npm.taobao.org      //安装淘宝镜像

    npm   config   list                            //查看npm的配置

    npm   config  set  registry   https://registry.npm.taobao.org      //设置淘宝镜像源

    npm   config  set  registry   https://registry.npmjs.org               //设置npm源

    npm   set   disturl    https://npm.taobao.org/dist              //设置资源库从淘宝库获取 

    npm   cache   clean   --force         //清空npm本地缓存 ,用于对付使用相同版本号发布新版本代码的人 

    npm   run   dev / test / build           //执行script命令

    npm   login                   //发布包时登录npm账号用的

    npm    publish              //发布包到npm官方库

    npm    unpublish    test      //撤销已发布的包 

    npm    unpublish     test     --force          //强制撤销

    npm    unpublish      test@1.0.2             //可以撤销发布自己发布过的某个版本代码 


    发布自己的包到npm官方库

    1、首先创建项目  生成package.json

    npm  init 

    package name: (hktest) //包名,可更改,也可以使用默认(直接回车)

    version: (1.0.0) 0.0.1 //版本,可更改,也可以使用默认(直接回车)

    description: 演示上传npm包 //项目描述,方便别人了解你的模块作用,搜索的时候也有用

    entry point: (index.js) //指定了程序的主入口文件,可更改,也可以使用默认(直接回车)

    test command: //测试命令(直接回车)

    git repository: //git仓库(直接回车)

    keywords: //一个字符串数组,方便别人搜索到本模块,可更改,也可以使用默认(直接回车)

    author: hk//作者,可更改,也可以使用默认(直接回车)

    license: (ISC) //你可以在https://spdx.org/licenses/这个地址查阅协议列表 ,可更改,也可以使用默认(直接回车) 

    2、创建index.js入口文件

    var rename = function (name) {

        var str  =  '用户' + name

        return str ;

    }

    module.exports = {

        rename 

    }    

    3、新建README.md文件

    # hktest

    # 快速上手

    ## 安装

    npm   install   hktest

    ## 全局注册(在main.js文件里注册)

    ```javascript

    import   tool   from   'hktest';

    global.tool= hktest;

    ```

    ## 局部注册

    ```javascript

    import   tool  from   'hktest';

    4、登录发布

    登录npm账号:

    npm    login

    没有账号就去npm官网注册或者命令行注册:

    npm    adduser

    登录好了就可以执行发布了:    

    npm    publish

    5、更新包及删除、撤销已发布的npm包

    更新直接执行:

    npm    publish

    每次发布要改变版本号,且版本号要比上一次版本号大

    这里简单介绍一下版本号。

    语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。

    如果只是修复bug,需要更新Z位。

    如果是新增了功能,但是向下兼容,需要更新Y位。

    如果有大变动,向下不兼容,需要更新X位。

    删除、撤销已发布的npm包

    npm    unpublish    test                          //撤销已发布的包 

    npm    unpublish    test     --force          //强制撤销

    npm    unpublish    test@1.0.2             //可以撤销发布自己发布过的某个版本的代码 

    6、发布遇到的问题及解决方案

    1、这一步的常规报错及处理

    npmERR!publishFailedPUT403

    npmERR!codeE403

    npmERR!no_permsPrivatemode enable,only admin can publish this module:

    出现原因:使用的是淘宝源cnpm,登陆到的是cnpm

    解决方法:切换到npmjs的网址,代码如下

    npm  config  set  registry  https://registry.npmjs.org

    2、包名重名报错

    报错403:You do not have permission to publish "xxx". Are you logged in as the correct user? 

    出现原因:所要publish的包的name和npmjs网上已经发布的包的名字重复,所以收你没有权限发布这个名字的包。(简单解释就是你想要的名字被别人抢先注册了)

    解决方法:找到package.json文件,把name的值换掉。如果还出现上述错误就是还是重名的,继续换!

    3、未激活邮箱报错

    报错403:you must verify your email before publishing a new package:

    出现原因:没有用邮箱激活登录到注册账号的邮箱  激活一下就好了

    7、npm包过滤上传文件 .npmignore

    当你上传包到npm库时,有一些本地的依赖文件和测试demo等不想上到npm库里,这时就要用到.npmignore过滤文件了,在根目录下新建文件取名.npmignore,用编辑器打开写入你想过滤文件类型就可以了。

    eg:

    npmignore

    以上都是我平时遇到的,我总结了一下写了出来,方便大家查看。

    如果文中有写错或不对的地方恳请您留言指出批评,若此文对你有帮助,请加关注收藏点赞,谢谢!。

    相关文章

      网友评论

        本文标题:npm常用命令、发布自己的npm、更新和删除npm包

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