npm 包制作发布详细教程方法,错误解决
1、# 初始化包 package.json 文件
$ npm init # 用 npm 初始化包
$ yarn init # 用 yarn 初始化包
得到一个 package.json 文件

1、这个步骤,就是您的包的功能 js 文件编辑了,
可以做个命令行工具包,也可以做项目需要的依赖包

1、npm 账户注册
在 www.npmjs.com 官网注册一个 npm 账号

2、命令行执行
```BASH
$ npm adduser # 添加 npm 账户
# Username: liuxmoo
# Password: (注意:输入的密码是不可见的)
# Email: (this IS public) liuxmoo@163.com
# Logged in as liuxmoo on http://registry.npmjs.org/. (注意这里提示要使用 http://registry.npmjs.org/. 如果不用这个发布将不成功)
$ npm config set registry https://registry.npmjs.org/ # 没有设置这个将会导致 403 权问题
$ npm publish # 发布
# npm ERR! publish Failed PUT 403 (发生了 403 错误,权限问题)
# npm ERR! code E403
# npm ERR! [no_perms] Private mode enable, only admin can publish this module [no_perms] Private mode enable, only admin can publish this module: # node-echo
#
# npm ERR! A complete log of this run can be found in:
# npm ERR! C:\Users\liuxm\AppData\Roaming\npm-cache\_logs\2019-05-04T08_16_54_434Z-debug.log
```

1、403 错误
```BASH
npm ERR! publish Failed PUT 403 #发生了 403 错误,权限问题
npm ERR! code E403
npm ERR! [no_perms] Private mode enable, only admin can publish this module [no_perms] Private mode enable, only admin can publish this module: node-echo
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\liuxm\AppData\Roaming\npm-cache\_logs\2019-05-04T08_16_54_434Z-debug.log
# 这个是因为没有执行
$ npm config set registry https://registry.npmjs.org/ # 执行了这个就不会发生。
```

2、```BASH
npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! You do not have permission to publish "node-echo". Are you logged in as the correct user? : node-echo
# 你没有权限去发布 "node-echo",是否正确登录 node-echo 包的账户
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\liuxm\AppData\Roaming\npm-cache\_logs\2019-05-04T08_19_00_946Z-debug.log
# 这个错误是因为 node-echo 包已经被别人发布了,我们需要修改 package.json 中我们命名的包的名字。
```
