前言
手动npm包上传(windows),需要npm账号,到npm官网注册www.npmjs.com/
使用场景:
1. 通过终端,帮助用户下载第三方依赖,方便使用(比如:打包工具, 插件…)
2. 通过npm服务器,下载安装他人编写的命令行程序到本地。
3. 将自己写的包或者命令行程序发布到npm服务器,供他人下载使用。
npm存在的问题:
npm虽然好用,但是存在的问题也很明显,那就是它的服务器在国外。每次通过npm下载东西的时候,都是从国外的地址进行下载,那么就会存在一些不稳定的因素导致下载有时会很慢,并且可能会下载失败。
准备工作
安装
1.安装node搭建npm环境 node下载地址 nodejs.org/zh-cn/
node版本很多尽量不要选择最新的,可能项目其他插件不支持等等,官网给了推荐版本兼容应该最好
可以使用nvm来管理node版本,很方便
nvm使用参考: blog.csdn.net/qq_44401643…
安装成功后使用node-v查看对应node版本,npm -v查看对应npm版本
nrm管理工具
nrm安装
npm install nrm -g全局安装nrm --version查看版本确定安装是否成功
nrm相关指令
nrm --version查看 nrm 版本号nrm ls查看当前可用的镜像源列表nrm test测试镜像地址的速度nrm use [镜像名称]切换 npm 的下载地址
初始化环境
新建文件目录, npm init,也可以npm init --yes快速创建package.json文件
自定义步骤
package name上传包名称version版本号(默认1.0.0)description:描述信息git repository::git仓库地址(需要git地址,无可以直接跳过)entry point:文件入口(默认index.js)test command:测试命令(可以直接跳过)author:上传者license: (ISC):许可证(限制用户使用,无可直接跳过)keywords:包名关键字(npm更好的搜索到包,标签)
初始化成功生成生成package.json文件,index手动创建的测试入口文件
登录
npm adduser: 添加npm(新用户)npm login: 登录npm (老用户)
Username:npm用户名
Password:密码
Email:邮箱
Enter one-time password from your authenticator app:绑定npm账号邮箱获得OTP校验码
Logged in as 你的用户名 on https://registry.npmjs.org/. 登录成功
发布
npm publish: 发布npm包
npm notice
npm notice package: this-is-a-test-npm-jx@1.0.0
npm notice === Tarball Contents ===
npm notice 97B index.js
npm notice 217B package.json
npm notice === Tarball Details ===
npm notice name: this-is-a-test-npm-jx
npm notice version: 1.0.0
npm notice package size: 368 B
npm notice unpacked size: 314 B
npm notice shasum: 77f1b35059584957ecd95df87e05eaf6bd2bba87
npm notice integrity: sha512-Vls6IFKWkSvvY[...]/fLHtmCse0RMw==
npm notice total files: 2
npm notice
表示发布成功
引入对应npm (测试)
更新NPM
-
npm version: type(类型)示例当前版本号为1.0.0 以(X,Y,Z举例说明)
npm version patch (修复bug,小改动,Z改动,1.0.1)
npm version minor (增加新功能,Y改动,1.1.0)
npm version major (有非常大的改动,X改动,2.0.0)
也可以直接在package.json直接修改对应的版本号或者名称等
撤销NPM包
npm unpublish: 包名
1.根据规范,只有在发包的**24小时内才允许**撤销发布的包( unpublish is only allowed with versions published in the last 24 hours)
2.再次发包的时候名称不能与已经撤销的包名称相同,因为已经被占用
备注
npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/你的包名 - You cannot publish over the previously published versions: 1.0.0.
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy.
(包名与npm官网现有的包冲突或者没跟新版本包,对应修改相关问题,名称或者版本号)
npm ERR! code ETIMEDOUT npm ERR! syscall connect npm ERR! errno ETIMEDOUT
(网络环境问题,切换手机热点或者等一会)