当前位置: 首页 > 后端技术 > Node.js

发布npm包踩坑

时间:2023-04-03 23:57:32 Node.js

昨天尝试发布npm包,遇到问题,记录一下。一:首先要注册一个npm账号,使用npmadduser命令npmERR!代码EAUTHUNKNOWNnpm错误!无法认证,需要:Basic将npm升级到6.9.0,又报错npmERR!代码E401npm错误!密码不正确或丢失。错误!如果您尝试登录,请更改您的密码,创建一个npmERR!身份验证令牌或启用双因素身份验证然后npmERR!这意味着您可能输入了错误的密码。错误!请重试,或恢复您的密码:npmERR!https://www.npmjs.com/忘记了npm错误!错误!如果您正在执行其他操作,那么您保存的凭据是npmERR!可能已经过时了。要更正此问题,请尝试使用以下命令再次登录:npmERR!npmlogin继续百度。从表面上看,我的密码似乎不正确。其实是因为npm库的源被重定向了,npmadduser的时候会把用户名和密码提交到http://registry.npm。taobao.org验证然后切源到cnpm。继续npmadduser,这次会提示输入用户名和邮箱地址。最后一句好像成功了。执行命令npmpublish发布结果,报错$npmpublishnpmnoticenpmnoticepackage:lx@1.0.0npmnotice===TarballContents===npmnotice435Bpackage.jsonnpmnotice===TarballDetails===npm通知名称:lxnpm通知版本:1.0.0npm通知包大小:324Bnpm通知解压缩大小:435Bnpm通知shasum:60f600a893d64ddc1e71a4707c7de7f5974bcb01npm通知完整性:sha512-y16NeHDVs1aLk[...]WU0yjiaIvRRJD4通知文件总数!codeE403npm错误!403Forbidden-PUThttp://r.cnpmjs.org/lx-[no_perms]启用私有模式,只有管理员可以发布这个modulenpmERR!可以在以下位置找到此运行的完整日志:npmERR!C:\Users\zt\AppData\Roaming\npm_cache\_logs\2019-05-14T07_59_28_430Z-debug.log放出cnpm源的时候说我的源不对,于是我把npm切换回npm。npm源发布的时候报错说必须登录才可以发布包,emmmmm。。。所以简单粗暴,我去npm.js官网手动注册https://www.npmjs.com/手动注册---然后npm登录继续发布报错:因为名称重复(错误:你没有权限发布“lx”)$npmpublishnpm通知enpm通知包:lx@1.0.0npm通知===Tarball内容===npm通知435Bpackage.jsonnpm通知===Tarball详细信息===npm通知名称:lxnpm通知版本:1.0.0npm通知包大小:324Bnpmnoticeunpackedsize:435Bnpmnoticeshasum:60f600a893d64ddc1e71a4707c7de7f5974bcb01npmnoticeintegrity:sha512-y16NeHDVs1aLk[...]WU0yjiaIvJD4g==npmnoticetotalfiles:1npmnoticenpmERR!代码E403npm错误!403禁止-PUThttps://registry.npmjs。org/lx-您没有发布“lx”的权限。您是否以正确的用户身份登录?错误!可以在以下位置找到此运行的完整日志:npmERR!C:\Users\zt\AppData\Roaming\npm_cache\_logs\2019-05-14T08_29_28_668Z-debug.loglx名称被占用,改为lx-zt继续发布,报错:(发布前必须验证邮箱anewpackage:https://www.npmjs.com/email-edit)表示邮箱地址还没有验证。注册后,我必须去电子邮件地址进行验证。最后,终于成功了。用这句话就成功了:+lx-zt@1.0.0然后我就可以在其他项目zt中安装我的lx-zt了,爽