npm发布注意事项

npm发布注意事项

我在折腾学习NodeBB插件开发的过程中,遇到了Node包上传的问题。因为NodeBB的插件要使用,必须以nodebb-plugin-开头,然后必须是发布的插件,这样才能够被nodebb识别。因此我开始学习怎样发布npm。

经过我的实测,正确发布npm包的步骤为:

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

命令:npm init

2、执行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`

错误。


3、记得将registry切回最初的源。因为最初的http://registry.npmjs.org这个源国内用户访问非常慢,所以一开始我们可能换成了国内淘宝的镜像:http://registry.npm.taobao.org。但是淘宝这个镜像没有开放上传的权限,因此会报这样的错误:

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 set registry http://registry.npmjs.org

4、在执行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 修改,

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

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

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

命令:sudo npm publish --tag 0.0.1

猜你喜欢

转载自blog.csdn.net/jiangcaiyang123/article/details/49018629