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. git 学习系列(一)

    目录 git 简介 git的升级 建立仓库 克隆仓库 查看主机名 查看仓库初始状态 将文件提交到暂存区 查看修改详情 提交修改 查看修改记录 查看个人配置信息(在 .gitconfig 文件中) 查看 ...

  2. springboot支付项目之日志配置

    日志框架 本节主要内容: 1:常见的几种日志框架 2:Logback的使用 3:怎么配置info和error级别日志到不同文件中并且按照日期每天一个文件. 以上几个框架可以分类如下: SLF4J和Lo ...

  3. Linux安装vmtools工具

    1.vmware菜单中虚拟机下安装vmtools: 2.将/mnt/cdrom/下的文件copy至可读写的文件夹下,此处我选择downloads目录下(如果提示此文件夹只为可读文件夹时) 3.使用ta ...

  4. iOS 仿看了吗应用、指南针测网速等常用工具、自定义弹出视图框架、图片裁剪、内容扩展等源码

    iOS精选源码 扩展内容的cell - folding-cell 一个近乎完整的可识别中国身份证信息的Demo 可自动快速... JPImageresizerView 仿微信的图片裁剪 带年月和至今以 ...

  5. getRandomInt getRandomString

    import java.util.concurrent.ThreadLocalRandom; private static final String AB = "ABCDEFGHIJKLMN ...

  6. sql常见面试(2)

    1.sql 删除表中重复数据保留一条 1)删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 delete from people where   p ...

  7. Hashtable和Hashmap的区别?

    1.实现的继承的父类不同 Hashtable继承Dictionary类    HashMap继承abstractMap类 两个类都实现了Map接口 2.线程安全性不同 Hashmap线程是不安全的 H ...

  8. Python:扫描目录下的所有文件

    扫描目录下的所有文件并返回文件的绝对路径 def fileListFunc(filePathList): fileList = [] for filePath in filePathList: for ...

  9. .js——alert()语句

    在.js文件中,通过alert()语句可以生成弹出框,弹出框中的内容message部分可以是常量字符串,也可以是含有变量的字符串连接,下面举几个例子简要说明下: 1. 参数为常量字符串 alert(& ...

  10. labview学习——生产者/消费者(数据)(事件)

    其主要的模型: 主要从以下几个方面理解: 1.可重入性 正常的labview是多线程设计语言,而我们在执行VI时的规则是通过VI的命名来分别调用实现的. 打开VI的Highlight调试工具,可以看出 ...