npm发包的那些事

最近一直在研习关于node的知识,发布包虽然是最基础的一点,但由于一些地方的不注意很容易发生错误,我整理了我可能出现过的一些发布包的过程中的一些error,现在分享给大家:

正确的发包步骤:

  • 执行npm init,生成package.json。package.json字段多且杂,我们最好让关键的部分交由系统帮我们生成,这样的话,采用npm init是最正确的办法。它以问答的形式获取一些重要的信息,然后生成package.json。

不够清楚?上图

  • 执行npm adduser,接下来会以问答的形式向你了解你的用户名、密码以及公开的邮箱。如果没有执行这些操作,直接上npm publish的话,会报一个错误这时关键部分来了!

npm ERR! need auth auth and email requiredfor publishing

npm ERR! need auth You need to authorize this machine using npm adduser

错误。

npm ERR! publish Failed PUT 403
npm ERR! Error: no_perms Private modeenable, only admin can publish this module: nodebb-plugin-route-cms
有至少两种方法:命令:npm adduser
1)修改~/.npmrc中的registry字段(命令:vi ~/.npmrc)
2)直接在命令行修改即可。

不够清楚?继续上图!

  • 在执行npm publish的时候,因为要访问~/.npm这个目录,不知怎么回事(权限应该正确的啊),需要以root账户权限执行才行。因此这里要加上sudo。如果不加上sudo的话,会出现这样的错误:

npm ERR! addLocal Could not install .
npm ERR! Error: EACCES, open'/home/jiangcaiyang/.npm/nodebb-plugin-route-cms/0.0.1/package/package.json'
npm ERR! { [Error: EACCES, open'/home/jiangcaiyang/.npm/nodebb-plugin-route-cms/0.0.1/package/package.json']
npm ERR!  errno: 3,
npm ERR!  code: 'EACCES',
npm ERR!  path:'/home/jiangcaiyang/.npm/nodebb-plugin-route-cms/0.0.1/package/package.json' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
--tag的意思是标记版本号。这里按照semver的标准来制定版本(参考这里)
版本格式:主版号.次版号.修订号,版号递增规则如下:

主版号:当你做了不相容的API 修改,

次版号:当你做了向下相容的功能性新增,

修订号:当你做了向下相容的问题修正。

先行版号及版本编译资讯可以加到「主版号.次版号.修订号」的后面,作为延伸。

最后继续以一张图片来结尾,结束我们的这次分享

在大型项目的建设过程中,很多细小的错误都会让我们花费巨大的时间成本去完成,所以如果能够提前知道防患于未然就显得尤为重要了。

npm发布包的那些事的更多相关文章

  1. npm发布包--所遇到的问题

    npm发布包: 解决方案--npm adduser的坑:http://www.tuicool.com/articles/FZbYve npm ERR publish 403,nodejs发布包流程 : ...

  2. npm发布包

    一.发布一个新包第一步:进入要发布的项目根目录,初始化为npm包: npm init 依次按提示填入包名.版本.描述.github地址.关键字.license等 这步完成之后会生成一个package. ...

  3. 转发npm发布包的过程

    老板,来个npm账号! 因为你的包是要放在npm上的,所以,没有npm的账号,根本什么活都干不了. 在npm上注册一个账号是很简单的,随便填一下用户名密码邮箱,然后人家就会发个邮件给你,然后就注册成功 ...

  4. npm 发布包

    每个包都必须包含package.json配置文件 生成package.page文件 1.到项目目录下执行npm init根据提示输入即可 最后记得要yes 完成项目后就是要发布到npm了 首先需要有n ...

  5. npm 发布包(publish)

    λ npm init // 建包,信息填写好 λ npm adduser // 创建npm账户 填写账号,密码,邮箱 λ npm whoami // 查看当前登录的是谁 ajanuw 登录 λ npm ...

  6. npm发布包以及更新包还有需要注意的几点问题(这里以发布vue插件为例)

    前言 在此之前,你需要去npm官网注册一个属于自己的账号,记住自己的账户名以及密码.邮箱,后面会用的到.第一步,安装webpack简易框架 vue init webpack-simple marque ...

  7. npm 发布包和删除包(2019最新攻略)

  8. 利用npm安装/删除/发布/更新/撤销发布包 --社会我npm哥,好用话不多

      一.什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率   1.从社区的角度:把针对某一特定 ...

  9. 【npm】利用npm安装/删除/发布/更新/撤销发布包

      什么是npm? npm是javascript的包管理工具,是前端模块化下的一个标志性产物 简单地地说,就是通过npm下载模块,复用已有的代码,提高工作效率   1.从社区的角度:把针对某一特定问题 ...

随机推荐

  1. xianduanshu

    https://www.cnblogs.com/xenny/p/9739600.html ***************https://blog.csdn.net/shiqi_614/article/ ...

  2. sql 新增随机数

    update RemoteDetection set humidity=round((rand()*3+29),0),TEMPERATURE=round((rand()*3+16),0),atmosp ...

  3. 算法之匹配:KMP

    public static int getIndexOf(String str1, String str2) { if (str1 == null || str2 == null || str1.le ...

  4. [Linux] Ubuntu 配置nfs

    安装NFS Server: 1. 执行命令 "$ sudo apt-get install nfs-kernel-server",安装nfs server 端 2. 创建需要用来分 ...

  5. MySQL5.7安装教程(RPM)

    博主本人平和谦逊,热爱学习,读者阅读过程中发现错误的地方,请帮忙指出,感激不尽 前言: 对应服务器信息: 192.168.247.53 一.MySQL安装(RPM) 1.系统环境设置: 1.1清空系统 ...

  6. Anaconda 安装、TensorFlow 安装、pytorch 安装

    问题 1 假设已经安装完Anaconda Navigator,按照 网址:https://www.zhihu.com/question/55577586 的教程操作,设置镜像源地址,安装. 问题 2: ...

  7. nonparametric method|One-Mean t-Interval Procedure|

    8.4 Confidence Intervals for One Population Mean When σ Is Unknown 原先是 standardized version of x bar ...

  8. 转载-WebSocket协议解析

    现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是指在特定的时间间隔(如每一秒),由浏览器对服务器发起HTTP请求,然后由服务器返回数据给浏览器.由于HTTP协议是惰性的,只有客户端发起请求, ...

  9. mysql配置白名单

    1. 测试是否允许远程连接 $ telnet 192.168.1.8 3306 host 192.168.1.4 is not allowed to connect to this mysql ser ...

  10. Html 的生命周期

    零.序言 vue 用多了,自然离不开生命周期.最近突发奇想,加上之前看过的文章中关于 script 标签中的 async 和 defer 的捣糨糊,决定整理一下,攻克这个模糊点. 当然,最多的还是与 ...