这篇文章主要介绍了如何使用npm上传自己的包。

准备工作

  • 安装node
  • 创建一个npm账号

新建一个项目dmus-test

1
2
3
D:/npm-test/npm init
# 注意使用cmd 初始化一个项目,完成后npm-test目录下后会有一个package.json
# 可以使用默认值一路回车

修改package.json

1
2
3
4
5
6
7
8
9
package name:      你的项目名(必须)
version: 版本号(必须,且每一次发布的版本号都要比上一次大)
description: 项目的描述
entry point: 项目的入口文件(一般你要用那个js文件作为node服务,就填写那个文件)
test command: 项目启动的时候要用什么命令来执行脚本文件(默认为node test.js)
git repository: 如果你要将项目上传到git中的话,那么就需要填写git的仓库地址
keywirds: 项目关键字
author: 作者的名字
license: 发行项目需要的证书(默认"ISC")
1
2
3
4
5
6
7
8
9
10
11
12
{
"name": "dmus-test",
"version": "0.0.1",
"description": "my first npm package",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node test.js"
},
"author": "tom",
"license": "ISC"
}

index.js

1
2
3
4
function demo(msg) {
console.log(msg)
}
module.exports = demo();

test.js

1
2
var test_npm = require('dmus-test');
test_npm('成功运行了');

上传包dmus-test

  • 在npm-test目录下使用管理员权限打开cmd

  • 如果你以前使用npm淘宝镜像下载链接,这时候要改回来,否则不能发布

    1
    npm config set registry http://registry.npmjs.org
  • 登录npm

    1
    2
    npm login
    # 按提示填写用户名,密码,邮箱
  • 发布

    1
    npm publish --access=public
  • 发布成功

    1
    2
    # 提示发布成功
    npm notice + dmus-test@0.0.1
  • 使用

    1
    2
    npm install dmus-test@0.0.1
    # 版本号可以不要

删除npm包

  • 1
    npm unpublish [<@scope>/]<pkg>[@<version>]
  • 1
    2
    3
    # 举个栗子
    $ npm unpublish dmusk-test@0.0.1
    - dmusk-test@0.0.1

npm unpublish 警告

通常,删除其他人依赖的库版本是不良行为!
deprecate 如果您的目的是鼓励用户升级,请考虑使用该命令。
注册表上有足够的空间。

npm unpublish 说明

这将从注册表中删除软件包版本,删除其条目并删除压缩包。
如果未指定任何版本,或者如果删除了所有版本,则根包条目将从注册表中完全删除。
即使未发布软件包版本,该特定名称和版本组合也永远无法重用。
为了再次发布该程序包,必须使用新的版本号。此外,未发布每个版本的软件包的新版本可能要等到 24 小时后才能重新发布。

使用默认注册表(registry.npmjs.org),仅允许最近 72 小时内发布的版本取消发布。
如果您要取消发布比该版本更早发布的版本,请联系`support@npmjs.com。 范围是可选的,并且遵循的常规规则npm-scope`。
本文参考NPM中文文档