美文网首页
发布自己代码到npm仓库

发布自己代码到npm仓库

作者: summer0125 | 来源:发表于2020-04-14 13:59 被阅读0次

1. 注册npm账号

方式一: 通过npm官网注册
方式二: 通过终端注册

$ npm adduser
Username: YOUR_USER_NAME
Password: YOUR_PASSWORD
Email: YOUR_EMAIL@domain.com

查看npm当前使用的用户

$ npm who am i

注意邮箱要验证,会发送验证链接到你的注册邮箱,没有验证不能发布代码的

2. 代码库命名

名称不能重复,重复无法提交,先搜索一下是否已存在

3. 创建项目

需要一个package.json文件,这个文件不仅仅是用来标明依赖和npm script脚本,也可以是一个npm包被外界识别的配置文件。

npm init packagename -y(在未创建文件夹情况下)
// or 
npm init (已创建文件情况下)

依次生成仓库配置信息

{
  "name": "dd-f2",
  "version": "1.0.0",
  "description": "dingding f2",
  "main": "app.js",
  "scripts": {
    "build": "npm run clean && webpack",
    "clean": "rm -rf dist",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/FernAbby/dd-f2.git"
  },
  "keywords": [
    "dingding",
    "eapp"
  ],
  "author": "wenzhen",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/FernAbby/dd-f2/issues"
  },
  "homepage": "https://github.com/FernAbby/dd-f2#readme",
  "devDependencies": {
    "webpack": "^4.42.1",
    "webpack-cli": "^3.3.11"
  },
  "dependencies": {
    "@antv/f2": "^3.6.3"
  }
}

4. 本地测试

npm pack

会生成一个 dd-f2-1.0.0.tgz版本文件,参看https://www.npmjs.cn/cli/pack/
打开一个新的项目,然后安装本地包

npm install 路径/dd-f2-1.0.0.tgz

5. 提交发布

  • 先登录你的npm账号
npm adduser    Username:  <your name>  Password: <your password> Email: <yourmail>

按照你注册的账号配置好,看一下package.json中author尽量与npm账户一致。
在根目录下配置账号信息,只用配置一次即可,我上传的时候发现有提示必须admin权限才能上传问题就是没在根目录下配置信息
检查是否登录成功

npm who am i
# 如果不成功则重新登录一下
npm login
  • 配置成功之后提交代码
npm publish

如果提交成功会出现如下提示:


WechatIMG129.png

错误情况:

npm login 

要确定你登录的是否是此镜像

nrm ls
WechatIMG128.png
nrm use npm
# 切换到npm仓库再发布

注意每次提交版本号都要比上次的高

5. 测试是否提交成功

看是否能从npm上下载下来

npm install dd-f2 --save
一些常见的错误:
  1. no_perms Private mode enable, only admin can publish this module
    这是因为镜像设置成淘宝镜像了,设置回来即可
npm config set registry http://registry.npmjs.org
  1. npm publish failed put 500 unexpected status code 401
    一般是没有登录,重新登录一下 npm login 即可

  2. npm ERR! you do not have permission to publish “your module name”. Are you logged in as the correct user?
    包名被占用,改个包名即可。最好在官网查一下是否有包名被占用,之后再重命名

  3. you must verify your email before publishing a new package
    邮箱未验证,去官网验证一下邮箱

相关文章

网友评论

      本文标题:发布自己代码到npm仓库

      本文链接:https://www.haomeiwen.com/subject/gmwzmhtx.html