npm 發包


前幾天封裝了公用的locaStorage組件,當然封裝后需要發布npm官網,於是摸索了一番終於搞定了,總結下來希望對大家有所幫助

npm安裝的package一般支持下面幾大類:

    本地包

    url遠程包

    倉庫中的包

   之前有寫過如何鏈接本地和倉庫中的包,想了解的可以點這里,下面進入正題介紹npm發布包包到公共的平台上

一  npm包發布

1.注冊包倉庫賬號

為了維護包,NPM必須要使用倉庫賬號才允許將包發布到倉庫中。注冊賬號的命令是npm adduser。

$ npm adduser
Username:
Password:
Email:

當然注冊也可以直接到官網注冊結果是一樣的

登陸 https://www.npmjs.com 用郵箱注冊接收驗證郵件驗證就完事了
(此處有兩封郵件:Welcome to npm和Verify your npm email address )

 如果已經注冊賬號:

 則我們用npm login 登錄即可

 證明是否登錄成功: 

    npm who am i

2.發布

$ npm init //生成package.json,如果有就不用了
$ npm publish [floder] //不帶參數默認是當前目錄

  如果你以后修改了代碼,然后想要同步到 npm 上的話請修改 package.json 中的 version 然后再次 publish,更新的版本上傳的版本要大於上次

3.權限

 管理包權限:

  通常,一個包只有一個擁有權限進行發布。如果需要多人進行發布,可以使用npm owner 命令幫助你管理包的所有者:

  使用這個命令,也可以添加包的擁有者,刪除一個包的擁有者:

$  npm owner ls <package name>
$  npm owner add <user> <package name>
$  npm owner rm <user> <package name>

    注:完全符合CommonJS規范的包目錄應該包含如下這些文件。

npm包實際是一個存檔文件,即一個目錄直接打包為.zip或tar.gz格式的文件,安裝后解壓還原為目錄。我們開發npm包模塊的時候,就可以按照以下目錄結構,進行開發:

  package.json : 包描述文件。

  bin: 用於存放可執行二進制文件的目錄。

  lib:用於存放javascript代碼的目錄。

  doc:用於存放文檔的目錄。

  test: 用於存放單元測試用例的代碼。

4.刪除發過的npm包

$  npm --force unpublish testxxxxx

   注:刪除要用force強制刪除。超過24小時就不能刪除了。自己把握好時間。(刪除npm包 ,很難刪除,因為怕線上有人在用)

二 npm包發布問題及解決

1.使用 cnpm 的注意報錯:

no_perms Private mode enable, only admin can publish this module

設置回原本的就可以了:

npm config set registry http://registry.npmjs.org 

建議國內采用淘寶的cnpm,發包的時候使用npm 傳送門

2.

You cannot publish over the previously published version

npm包package.json中registory屬性一定要填寫,每次publish npm時package.json中version版本一定要大於上一次。

3.這樣的報錯信息,往往是沒有登錄成功

npm publish failed put 500  unexpected status code 401

操作npm login

4.

you do not have permission to publish "your module name". Are you logged in as the correct user?
這種很可能是你的包名已經被別人占用了,只能修改package.json中的name,重新發布。
如果你確定你的包名沒有被占用,還有一種可能是本地測試的時候link過或安裝過,緩存中已經存在該包,但是測試的時候信息不一致造成的,刪除用戶npm目錄下的自己的包,嘗試重新publish。
5.
Request Entity Too Large

這種一般是因為包目錄下包含了多余的或者不需要上傳到npmjs的文件,在包目錄下新建一個.npmignore忽略了就行,規則類似.gitignore

6.
you must verify your email before publishing a new package

這種需要你先驗證你的郵箱,可能網速會很慢只要你填寫了一個郵件地址,npm就會發一封郵件到你的郵件地址上,打開填寫的郵件地址驗證即可

三 github項目徽章的添加和設置

如果想讓自己的npm包看上去更高大尚一些,可以添加一些徽章,添加徽章很簡單可以點擊這里去添加想要的徽章

沒有傘的孩紙只能拼命奔跑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM