npm常用命令、發布自己的npm、更新和刪除npm包

npm? ?=>? ? ?Node? Package? ?Manager? ? ? ?是nodeJs的包管理工具

npm 官網? ? http://www.npmjs.org

npm常用命令

npm? ?-v? ? ? ? ? ? ? ? ? ? ? ? ? //查看版本號

npm? ?--help? ? ? ? ? ? ? ? ? ? //查看npm所有命令

npm? ?adduser? ? ? ? ? ? ? ? //添加 npm 賬號,也可以去npm官網注冊

npm? ?init? ? ? ? ? ? ? ? ? ? ? ? //構建項目說明,生成 package.json文件

npm? ?view? ? jquery? ?versions? ? ? ? ? ? ? ?//查看歷史版本信息(最多只能顯示100條)? ? ? ??

npm? ?view? ?node? ?versions? --json? ? ? ?//查看所有版本信息

npm? ?view? ?jquery? ?version? ? ? ? ? ? ? ? ? //查看最新版本信息

npm? ?info? ?jquery? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //查看所有版本及jquery的信息

npm? ?ls? ?jquery? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//查看本地安裝的jquery版本

npm? ?ls? ?jquery? ?-g? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//查看全局安裝的jquery版本

npm? ?i? ?jquery@3.2.3? ? ? ? ? ? ? ? ? ? ? ? ? ?//安裝指定版本?

npm? ?i? ?jquery? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//安裝推薦的版本

npm? ?i? ?jquery@latest? ? ? ? ? ? ? ? ? ? ? ? ? //安裝指定、最新版本?

npm? ?install? ?gulp? ? ?簡寫? ? npm? ?i? ?gulp? ? ?//安裝依賴

npm? ?install? ? gulp? ?-S? -D? ? ?

npm? ?install? ? gulp@3.0.0? ?--save? ??

npm? ?update? ?gulp? ? ? ? ? ? //可以把當前目錄下node_modules子目錄里邊的對應模塊更新至最新版本? ? ??

npm? ?update? ?gulp -g? ? ? ? //可以把全局安裝的對應命令行程序更新至最新版??

npm? ?uninstall? ? gulp@3.0.0? ?--save? ? ? ? ? ?//卸載依賴

npm? ?install? ?cnpm? ?-g? --registry=?https://registry.npm.taobao.org? ? ? //安裝淘寶鏡像

npm? ?config? ?list? ? ? ? ? ? ? ? ? ? ? ? ? ? //查看npm的配置

npm? ?config? set? registry? ?https://registry.npm.taobao.org? ? ? //設置淘寶鏡像源

npm? ?config? set? registry? ?https://registry.npmjs.org? ? ? ? ? ? ? ?//設置npm源

npm? ?set? ?disturl? ? https://npm.taobao.org/dist? ? ? ? ? ? ??//設置資源庫從淘寶庫獲取?

npm? ?cache? ?clean? ?--force? ? ? ? ?//清空npm本地緩存 ,用于對付使用相同版本號發布新版本代碼的人?

npm? ?run? ?dev / test / build? ? ? ? ? ?//執行script命令

npm? ?login? ? ? ? ? ? ? ? ? ?//發布包時登錄npm賬號用的

npm? ? publish? ? ? ? ? ? ? //發布包到npm官方庫

npm? ??unpublish? ? test? ? ? //撤銷已發布的包?

npm? ? unpublish? ? ?test? ? ?--force? ? ? ? ? //強制撤銷

npm? ? unpublish? ? ? test@1.0.2? ? ? ? ? ? ?//可以撤銷發布自己發布過的某個版本代碼?


發布自己的包到npm官方庫

1、首先創建項目? 生成package.json

npm? init?

package name: (hktest) //包名,可更改,也可以使用默認(直接回車)

version: (1.0.0) 0.0.1 //版本,可更改,也可以使用默認(直接回車)

description: 演示上傳npm包 //項目描述,方便別人了解你的模塊作用,搜索的時候也有用

entry point: (index.js) //指定了程序的主入口文件,可更改,也可以使用默認(直接回車)

test command: //測試命令(直接回車)

git repository: //git倉庫(直接回車)

keywords: //一個字符串數組,方便別人搜索到本模塊,可更改,也可以使用默認(直接回車)

author: hk//作者,可更改,也可以使用默認(直接回車)

license: (ISC) //你可以在https://spdx.org/licenses/這個地址查閱協議列表 ,可更改,也可以使用默認(直接回車)?

2、創建index.js入口文件

var rename = function (name) {

? ? var str? =? '用戶' + name

? ? return str?;

}

module.exports = {

? ??rename?

}????

3、新建README.md文件

# hktest

# 快速上手

## 安裝

npm? ?install? ?hktest

## 全局注冊(在main.js文件里注冊)

```javascript

import? ?tool? ?from? ?'hktest';

global.tool= hktest;

```

## 局部注冊

```javascript

import? ?tool? from? ?'hktest';

4、登錄發布

登錄npm賬號:

npm? ? login

沒有賬號就去npm官網注冊或者命令行注冊:

npm? ? adduser

登錄好了就可以執行發布了:? ??

npm? ? publish

5、更新包及刪除、撤銷已發布的npm包

更新直接執行:

npm? ? publish

每次發布要改變版本號,且版本號要比上一次版本號大

這里簡單介紹一下版本號。

語義版本號分為X.Y.Z三位,分別代表主版本號、次版本號和補丁版本號。當代碼變更時,版本號按以下原則更新。

如果只是修復bug,需要更新Z位。

如果是新增了功能,但是向下兼容,需要更新Y位。

如果有大變動,向下不兼容,需要更新X位。

刪除、撤銷已發布的npm包

npm? ??unpublish? ? test? ? ? ? ? ? ? ? ? ? ? ? ? //撤銷已發布的包?

npm? ? unpublish? ? test? ? ?--force? ? ? ? ? //強制撤銷

npm? ? unpublish? ? test@1.0.2? ? ? ? ? ? ?//可以撤銷發布自己發布過的某個版本的代碼?


6、發布遇到的問題及解決方案

1、這一步的常規報錯及處理

npmERR!publishFailedPUT403

npmERR!codeE403

npmERR!no_permsPrivatemode enable,only admin can publish this module:

出現原因:使用的是淘寶源cnpm,登陸到的是cnpm

解決方法:切換到npmjs的網址,代碼如下

npm? config? set? registry? https://registry.npmjs.org

2、包名重名報錯

報錯403:You do not have permission to publish "xxx". Are you logged in as the correct user??

出現原因:所要publish的包的name和npmjs網上已經發布的包的名字重復,所以收你沒有權限發布這個名字的包。(簡單解釋就是你想要的名字被別人搶先注冊了)

解決方法:找到package.json文件,把name的值換掉。如果還出現上述錯誤就是還是重名的,繼續換!

3、未激活郵箱報錯

報錯403:you must verify your email before publishing a new package:

出現原因:沒有用郵箱激活登錄到注冊賬號的郵箱? 激活一下就好了

7、npm包過濾上傳文件?.npmignore

當你上傳包到npm庫時,有一些本地的依賴文件和測試demo等不想上到npm庫里,這時就要用到.npmignore過濾文件了,在根目錄下新建文件取名.npmignore,用編輯器打開寫入你想過濾文件類型就可以了。

eg:

npmignore

以上都是我平時遇到的,我總結了一下寫了出來,方便大家查看。

如果文中有寫錯或不對的地方懇請您留言指出批評,若此文對你有幫助,請加關注收藏點贊,謝謝!。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容