發(fā)布一個(gè)npm包

首先需要去npm官網(wǎng)注冊(cè)一個(gè)賬號(hào)
https://www.npmjs.com/
注冊(cè)好賬號(hào)之后,如果你本地使用的是淘寶的鏡像,則需要將本地的npm源切換成npm自己的地址

查看當(dāng)前鏡像源
npm get registry
切換淘寶鏡像源
npm config set registry http://registry.npm.taobao.org
切換npm源
npm config set registry https://registry.npmjs.org/

切換成npm源后打開(kāi)終端,如果是第一次在本機(jī)發(fā)包,則先添加你的npm賬號(hào)到本地。輸入命令

npm adduser
image.png

輸入你的用戶名,回車(chē),然后再輸入密碼


image.png

依次輸入用戶名 密碼 郵箱 驗(yàn)證碼,即可登陸成功。

如果不是第一次發(fā)包則直接npm login 登陸就行

接著npm publish 發(fā)布即可

如果有不想發(fā)布出去的文件,就可以將它寫(xiě)入.gitignore 或.npmignore中,上傳就會(huì)被忽略了

發(fā)布好之后就可以在npm上搜到你的包了。
image.png

記住每次發(fā)布的包版本號(hào)都需要變更,不然會(huì)導(dǎo)致發(fā)布失敗。

下面總結(jié)我在發(fā)布時(shí)遇到的幾個(gè)發(fā)布失敗的錯(cuò)誤碼,以及解決方法

1、401

401一般就是你的賬號(hào)密碼輸入有誤導(dǎo)致的。自己核對(duì)后重新登陸即可

2、402
這個(gè)問(wèn)題一般是你嘗試發(fā)布到公共范圍導(dǎo)致的問(wèn)題

npm ERR! code E402
npm ERR! 402 Payment Required - PUT https://registry.npmjs.org/.... - You must sign up for private packages

因?yàn)槟J(rèn)訪問(wèn)級(jí)別為私有。要解決此問(wèn)題,可以設(shè)置npm config set access public或添加以下內(nèi)容到package.json

{
  // ...
  // 添加以下
  "publishConfig": {
    "access": "public",
    "registry": "https://registry.npmjs.org/"
  }
  // ...
}

3.403
一般出現(xiàn)403就表示你的包名已經(jīng)被別人使用了。解決辦法就是換一個(gè)包名。
但大多數(shù)時(shí)候我建議你將包放在一個(gè)唯一的域下,這樣以后你的包就不會(huì)出現(xiàn)和別人重名的情況,一般這個(gè)域會(huì)以你的npm username為名,前面加上@。
例如 @username/xxx

  1. 404
    出現(xiàn)404的問(wèn)題,就是你的組織未找到,也就是403狀態(tài)碼中解決辦法提到的將包放到一個(gè)私有的域下。這個(gè)名字你當(dāng)然不能胡亂寫(xiě),npm會(huì)去搜索是否有這個(gè)名字,有的話將你本次的包添加到他下面,沒(méi)有就會(huì)給你報(bào)404的錯(cuò)誤了。所以大多數(shù)時(shí)候直接以你的npm 用戶名就行了

以上就是本篇的全部?jī)?nèi)容

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容