• 把自己的代码发布到npm(npm publish)


    写了代码如何发布到npm包?

    示例

    demo1

    demo2

    1.注册npm账号

    在npm官网注册https://www.npmjs.com/
    注意邮箱要验证,会发送验证链接到你的注册邮箱,没有验证的话是不能发布代码的

    2.给你的代码库起个名字

    名字不能重复,在官网查询下是不是重复,重复的包名不能提交

    3.创建项目

    需要一个package.json文件,这个文件不仅仅是用来标明依赖和npm script脚本,也可以是一个npm包被外界识别的配置文件。
    因为配置文件内容比较多,可以选择自己手写,或者

    npm init

    根据提示写好你的信息,以我的为例:name包名和main/bin对应你的包的入口文件,这里我的代码和github一起管理,author注意不要写错和你的npm账号一致

    {
    "name": "calamus-vue-music",
    "version": "0.0.2",
    "description": "a vue music player",
    "main": "music.vue",
    "bin": "music.vue",
    "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
    },
    "repository": {
    "type": "git",
    "url": "git+https://github.com/calamus0427/calamus-vue-music.git"
    },
    "keywords": [
    "music",
    "player",
    "vue",
    "calamus"
    ],
    "author": "calamus",
    "license": "MIT",
    "bugs": {
    "url": "https://github.com/calamus0427/calamus-vue-music/issues"
    },
    "homepage": "https://github.com/calamus0427/calamus-vue-music#readme",
    "_from": "calamus-vue-music@0.0.1"
    }
    

    4.本地测试

    npm pack
    

    会生成一个 tgz版本文件
    打开一个新的项目,路径为刚刚生成的路径

    npm install 路径/文件-1.0.0.tgz
    

    5.提交发布

    先登录你的账号

    
    $ npm adduser    Username: your name Password: your password Email: yourmail
    

    按照你注册的账号配置好,这时候看一下package.json中author尽量与npm账户一致。
    在根目录下配置账号信息,只用配置一次即可,我上传的时候发现有提示必须admin权限才能上传问题就是没在根目录下配置信息
    检查是否登录成功

    npm who am i
    # 如果不成功则重新登录一下
    npm login
    

    配置成功之后提交代码

    npm publish
    

    如果提交成功会出现如下提示:

    注意每次提交版本号都要比上次的高

    5.测试是否提交成功

    去官网你的账号下面看一下有没有
    或者直接npm下载下来

    npm install calamus-vue-music --save
    

    一些常见的错误:

    • 1.no_perms Private mode enable, only admin can publish this module

    这是因为镜像设置成淘宝镜像了,设置回来即可

    
    npm config set registry http://registry.npmjs.org
    
    • 2.npm publish failed put 500 unexpected status code 401
      一般是没有登录,重新登录一下 npm login 即可

    • 3.npm ERR! you do not have permission to publish “your module name”. Are you logged in as the correct user?
      包名被占用,改个包名即可。最好在官网查一下是否有包名被占用,之后再重命名

    • 4.you must verify your email before publishing a new package
      邮箱未验证,去官网验证一下邮箱

  • 相关阅读:
    CentOS6 samba配置实例及详解
    itools airplay没出现该图标的解决方法
    修改注册表让您的Windows7系统彻底禁用U盘
    iphone 4S 下拉通知背景切换的方法
    JAVA EE Apache Zookeeper / Google Chubby
    db Oracle OLTP OLAP / apache kylin / druid
    appServer WAS / WebSphere / javacore.txt 、heapdump.phd、core.dmp、Snap.trc
    JAVA EE Code Quality / Sonar / findbugs / checkstyle / cobertura(coverage) / PMD
    OS + Linux CoreOS / Ubuntu 16.04 LTS / docker / openSTF
    App Store Review Guidelines 送審前十項常犯必檢查項目表
  • 原文地址:https://www.cnblogs.com/calamus/p/8384318.html
Copyright © 2020-2023  润新知