如何使用node发布自己的包

一、新建文件夹

gzmTestNode

二、npm init

{
    
    
  "name": "gzmTestNode",
  "version": "1.0.0",
  "description": "处理不同日期函数组件",
  "main": "index.js",
  "scripts": {
    
    
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "xxx", // 作者名称
  "license": "ISC"
}

三、新建 index.js文件,为 main入口

export function add(a, b) {
    
    
  console.log(a + b, '8989')
}

四、发布包

4.1、注册 npm 账号

  • 访问 npm 网站,点击 sign up 按钮,进入注册用户界面 填写账号相关的信息:Full Name、Public
  • Email、Username、Password 点击 Create an Account 按钮,注册账号
  • 登录邮箱,点击验证链接,进行账号的验证

4.2、登录 npm 账号

npm 账号注册完成后,可以在终端中执行 npm login 命令,依次输入用户名、密码、邮箱后,即可登录成功。

注意:在运行 npm login 命令之前,必须先把下包的服务器地址切换为 npm 的官方服务器。否则会导致发布包失败!

查看服务器地址:
npm config get registry 

设置 npm 服务器地址
npm config set registry https://registry.npmjs.org

设置 taobao 服务器地址
https://registry.npm.taobao.org/

4.3、把包发布到 npm 上

将终端切换到包的根目录之后,运行 npm publish 命令,即可将包发布到 npm 上(注意:包名不能雷同)。
在这里插入图片描述

4.4、删除已发布的包

运行 npm unpublish 包名 --force 命令,即可从 npm 删除已发布的包。
在这里插入图片描述

注意

  • npm unpublish 命令只能删除 72 小时以内发布的包
  • npm unpublish 删除的包,在 24 小时内不允许重复发布
  • 发布包的时候要慎重,尽量不要往 npm 上发布没有意义的包

npm login遇到的问题?

一、首先检查自己的npm地址是否正确:

npm config get registry

  • 真实地址应该是:https://registry.npmjs.com,这里解释下为什么是com,我反复测试了多次,发现org已经无法登录了。
  • 由于国内环境,大家可能都开启了国内的镜像,目前阿里提供的cnpm也已经更新了新的镜像。如果需要更改为npm原地址:npm config set registry https://registry.npmjs.com
  • 解决问题时,网上还有的是让大家把proxy设置为null,npm config set proxy null,笔者当时未有这个问题,这里记录以下。

二、npm 发布

这里当初我已经更改了com地址了,登录成功后,发布时又失败了。一顿苦恼,感慨自己的愚蠢。

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.com/node-js - You do not have permission to publish "node-js". Are you logged in as the correct user?
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, or
npm ERR! 403 on a server you do not have access to.
  • 报错信息已经很明确,发布的包名可能不是自己的,没有权限。查看下自己package.json中name的字段,是否是自己的包。

参考链接:https://blog.csdn.net/weixin_52851967/article/details/128568268
参考链接:https://www.jianshu.com/p/2642aff6b9ff

猜你喜欢

转载自blog.csdn.net/qq_43631129/article/details/130540295