先说一下如何向npmjs上发布包
- 首先要现在npmjs上注册一个账号,需要使用用户名、密码、邮箱
- 在自己的项目中将要发布的包封装好
- 在这里先判断一下是不是使用在使用npm的源,如果不是,要切换成npm的源(毕竟是npm家的,用别的命令人家不理你)。使用
npm ls
查看所有的源,只要npm的源前面有*号,那么就是在使用npm的源。如果不是,就使用nrm use npm
来切换成npm的源
- 使用
npm publish
命令来进行发布,在这里需要注意的是,package.json文件中的name必须是唯一的的,不可以和npmjs中已经存在的包名一样,否则会失败,所以建议在使用名字之前先去npmjs上搜索下是不是已经存在了。
说一下我遇到的问题
我已经使用了唯一的名字,但是发布后还是出现了错误,错误为
npm ERR! 403 403 Forbidden - PUT http://registry.npmjs.org/npm-ceshi - Package name too similar to existing packages; try renaming your package to ‘@gtbox/04_publish_gttest’ and publishing with ‘npm publish --access=public’ instead
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.
出现这种问题一方面可能是名字重复,另外一方面就是没有进行邮箱验证,需要进行邮箱验证,在你注册
的时候会给你的注册邮箱发一个邮件,你需要从邮件里打开,这样再去使用 npm publish 就OK了。