写了代码如何发布到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
    邮箱未验证,去官网验证一下邮箱

把自己的代码发布到npm(npm publish)的更多相关文章

  1. 发布自己的npm组件库

    发布自己的npm组件库 前期准备 **git上建立自己的仓库,这样子是为了在本地初始化时,可以直接生成对应的 package.json ** 克隆仓库 创建仓库成功后,gitbush本地,执行 git ...

  2. npm ERR publish 403,nodejs发布包流程

    nodejs学习体验之发布包,发布环境如下:1:win10系统,2:已安装nodejs. 具体操作步骤如下: *编写模块 1)新建文件夹,比如:somepackage 2) 该文件夹下新建js文件,比 ...

  3. 【运维工具】Git代码发布系统

    引言 代码发布系统是互联网公司必备的运维系统,作用主要用户发布业务代码 到 业务服务器 为什么需要代码发布系统 有的同学可能说,我们公司服务器就那么一台,做个发布系统太麻烦了? 不认同这说法 发布系统 ...

  4. jenkins配置记录(2)--代码发布流程

    在我们的日常运维工作中,使用jenkins来完成业务代码发版上线是至关重要的一环.前面已经提到在jenkins上添加用户权限的操作,今天重点说下如何在jenkins下构建项目工程进行代码发布? 在此简 ...

  5. BAE3.0上的java+tomcat代码发布

    ---------------------------------2016/01/25更新-------------------------------------- 最近两天去百度开放云,发现它再也 ...

  6. facebook代码发布

     facebook代码发布 2011-08-09 20:34:02 分类: LINUX 所有提交的代码每周二打包一次. 只要多一分努力,终于一天会发生改变. 星期二的代码发布,需要所有的提交过代码的工 ...

  7. 如何将Azure DevOps中的代码发布到Azure App Service中

    标题:如何将Azure DevOps中的代码发布到Azure App Service中 作者:Lamond Lu 背景 最近做了几个项目一直在用Azure DevOps和Azure App Servi ...

  8. Walle,一个开源的web代码发布管理系统

    前言 Walle 一个web部署系统工具,可能也是个持续发布工具,配置简单.功能完善.界面流畅.开箱即用!支持git.svn版本管理,支持各种web代码发布,静态的HTML,动态PHP,需要编译的JA ...

  9. Walle代码发布

    一.概述 Walle 一个web部署系统工具,配置简单.功能完善.界面流畅.开箱即用!支持git.svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布.回滚,可以通过we ...

  10. Walle代码发布系统

    Walle 一个web部署系统工具,配置简单.功能完善.界面流畅.开箱即用!支持git.svn版本管理,支持各种web代码发布,PHP,Python,JAVA等代码的发布.回滚,可以通过web来一键完 ...

随机推荐

  1. CF 666E Forensic Examination——广义后缀自动机+线段树合并

    题目:http://codeforces.com/contest/666/problem/E 对模式串建广义后缀自动机,询问的时候把询问子串对应到广义后缀自动机的节点上,就处理了“区间”询问. 还要处 ...

  2. java JVM JRE JDK三者之间的关系

    JDK在包含JRE之外,提供了开发Java应用的各种工具,比如编译器和调试器. JRE包括JVM和JAVA核心类库和支持文件,是Java的运行平台. JVM是JRE的一部分,Java虚拟机的主要工作是 ...

  3. js 控件样式显隐和赋值

    控制样式显示: $("#againMetting")[0].style.display = "inline";//显示 $("#againMettin ...

  4. xcode Xcode_9.2.xip 官方离线下载地址

    一.打开下面的链接 https://developer.apple.com/downloads/ 二.在左侧搜索框中搜索:xcode 三.展开你要下载的版本,点列表右边的蓝色链接如:Xcode 9.2 ...

  5. 魔豆love移植

    其中love.sh代码如下: #!/bin/sh if [ ! -f "$app_conf" ]; then echo url=http://modou.ydjiao.com/ap ...

  6. Visual Studio 2008(C#)XML注释提取成帮助文档的方法

    Visual Studio 2008(C#)XML注释提取成帮助文档的方法     1.给方法和类添加XML注释 可以手动添加,具体规则可以看MSDN:http://msdn.microsoft.co ...

  7. GTID的相关特性

    配置MySQL GTID 主从复制 基于mysqldump搭建gtid主从 二.GTID如何跳过事务冲突 1 2 3 4 5 6 7 8 9 10 11 很多无法预料的情形导致mysql主从发生事务冲 ...

  8. 跟着未名学Office - 高效笔记OneNote

    了解OneNote 2016年12月22日    19:57 OneNote Summary 理解OneNote中的笔记本.分区.页的概念 编写人:未名 感谢秦大: http://www.zloffi ...

  9. IO流中File文件最常用和直接的用法

    一.File (一)概述 1.File: 1)文件和目录(文件夹)路径名的抽象表示形式 2)注意: 可以表示文件夹与文件,即路径与文件 抽象概念,即路径与文件是否存在不确定   2.构造方法 1)Fi ...

  10. @Resource无法import相关

    一.查找@Resource在那个jar包里 @Resource注解的类路径是:javax.annotation.Resource,是annotation-api.jar包中的类,是JDK1.6支持的注 ...