我是靠谱客的博主 自信蜜蜂,最近开发中收集的这篇文章主要介绍发布自己的js插件到npm导语第一步第二步,初始化第三步,登录第四步,发布其它指令注意点:问题一,包名类似怎么办?问题二 关于撤销发布问题npm的版本控制-Semantic versioning,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

导语

第一步

注册账号
https://www.npmjs.com/

第二步,初始化

npm init -y

然后配置package.json类似这样

{
  "name": "bootdialog",
  "version": "0.0.1",
  "description": "Make the modal component of bootstrap easier to use",
  "main": "src/bootdialog.js",
  "directories": {
    "doc": "docs",
    "test": "test"
  },
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://gitee.com/x852/bootdialog.git"
  },
  "keywords": [
    "Bootstrap",
    "Bootstrap 5",
    "Modal",
    "Dialog"
  ],
  "author": "x852",
  "license": "MIT",
  "devDependencies": {
    "gulp": "^4.0.2",
    "gulp-rename": "^2.0.0",
    "gulp-terser": "^2.1.0"
  }
}

第三步,登录

npm login

输入 用户名 密码 邮箱,同时还会给你发邮箱验证码进行输入登录

第四步,发布

npm publish

其它指令

npm whoami,查看当前登录的账户是谁,会显示当前登录的用户名

注意点:

如果发现输入

npm login的时候报错

那就把npm升级到最新版

或者再清理一下npm缓存

如果还是不行,那就想想你是否更换了镜像源

我们可以安装一个npm镜像源管理工具

npm i -g nrm

nrm ls
npm ---- https://registry.npmjs.org/
cnpm — http://r.cnpmjs.org/
taobao - https://registry.npm.taobao.org/
nj ----- https://registry.nodejitsu.com/
npmMirror https://skimdb.npmjs.com/registry/
edunpm - http://registry.enpmjs.org/

设置
nrm use npm
Registry has been set to: https://registry.npmjs.org/

问题一,包名类似怎么办?

包名提示太过类似
例如如下提示

npm ERR! publish Failed PUT 403
npm ERR! code E403
npm ERR! Package name too similar to existing packages; try renaming your package to '@hopgoldy/auto-git' and publishing with 'npm publish --access=public' instead : your-package

例如:react-native已经存在,那么诸如

reactnative
react_native
react.native

就不可以再发布了

解决办法是,加上作用域
找到 package.json

@你的npmjs用户名/包名

"name": “@jackie/react-native"

然后发布
被划了作用域的包默认是私有的,所以要通过下面的指令让它变为公有的包

npm publish --access=public

问题二 关于撤销发布问题

可以通过

npm unpublish 包名 --force

1.根据规范,只有在发包的24小时内才允许撤销发布的包

2.即使你撤销了发布的包,发包的时候也不能再和被撤销的包的名称和版本重复了(即不能名称相同,版本相同,因为这两者构成的唯一标识已经被“占用”了)

因为这种删除的行为,对依赖你项目的人来说是非常致命的,

因此建议:
npm unpublish的推荐替代命令:

npm deprecate <pkg>[@<version>] <message>

使用这个命令,并不会在社区里撤销你已有的包,但会在任何人尝试安装这个包的时候得到警告
例如:

npm deprecate penghuwanapp '这个包我已经不再维护了哟~'

npm的版本控制-Semantic versioning

指令

npm version <update_type>

patch, minor, major是update_type的取值,分别表示补丁,小改,大改

package.json文件中有这样一个字段version

"version":"x.y.z"

1.修复bug,小改动,增加z
2.增加了新特性,但仍能向后兼容,增加y
3.有很大的改动,无法向后兼容,增加x

例如:我原本的项目是1.0.0版本的话
若是1中情况,变为1.0.1
若是2中情况,变为1.1.0
若是3中情况,变为2.0.0

最后

以上就是自信蜜蜂为你收集整理的发布自己的js插件到npm导语第一步第二步,初始化第三步,登录第四步,发布其它指令注意点:问题一,包名类似怎么办?问题二 关于撤销发布问题npm的版本控制-Semantic versioning的全部内容,希望文章能够帮你解决发布自己的js插件到npm导语第一步第二步,初始化第三步,登录第四步,发布其它指令注意点:问题一,包名类似怎么办?问题二 关于撤销发布问题npm的版本控制-Semantic versioning所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部