npm 全稱爲 node package manager,即 node 包管理。node
npm 包分爲全局包、本地包。react
全局包(不能在代碼中使用 只能在命令中使用) 、 本地包(只能在當前項目中使用)git
全局包的安裝命令爲github
npm i xxx -gnpm
本地包的安裝命令爲json
npm i xxx --save-dev/--save
-D 爲 --save-dev 的簡寫,-S 爲 --save 的簡寫
-D 指開發依賴,如 babel 等,主要做用是編譯代碼,-S 爲項目依賴,爲項目提供支持,如 reactbash
nrm 全稱爲 npm registry manager,即 npm 的鏡像源管理工具。babel
nrm 下載命令爲 npm i nrm -g
mac 下須要在命令前加 sudo
網絡
咱們能夠經過 nrm --help
命令來查看 nrm 的相關命令:curl
使用 nrm ls
來查看當前可用的 npm
源
使用 nrm test
來測試當前各個源下的網速
使用 nrm current
來查看當前本身使用的 npm
源
使用 nrm use xx
來切換本身的下載源
經常使用的 node 版本工具備兩個:
他們的區別大體能夠分爲一下幾點:
一、安裝方式:
n
是一個須要全局安裝的 npm
包,所以在使用 n
以前,你必須已經安裝了 node
。curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
二、node 管理方式
n
會先將指定版本的 node
存儲下來,而後將其複製到咱們熟知的路徑 /usr/local/bin
,很是簡單明瞭。固然因爲 n 會操做到非用戶目錄,因此須要加 sudo
來執行命令。nvm
將不一樣的 node
版本存儲到 ~/.nvm/<version>/
下,而後修改$PATH
,將指定版本的 node
路徑加入,這樣咱們調用的 node
命令便是使用指定版本的 node
。三、對全局模塊的管理。
四、系統支持
一、新建文件夾 my-npm
,並經過 npm init
初始化項目
二、新建 bin
目錄,並在 package.json
中新增 bin
配置項
// my-npm/bin/index.js
#! /usr/bin/env node // 聲明運行環境爲 node
require('../index');
console.log('my-npm')
複製代碼
package.json
"bin": {
"my-npm": "./bin/index.js"
},
複製代碼
三、cd 到 my-npm 目錄下,運行 npm link
命令
右上圖咱們可知,在執行 npm link
命令後,系統在新增了 /usr/local/bin
目錄下新增了 my-npm
命令,該命令的實際文件地址指向 /Users/mac/Desktop/zf/node/my-npm
,即咱們新建的項目。
此時,輸入 my-npm
命令,便可執行咱們新建的全局命令,打印出文件的內容。
四、可經過 npm unlink
來刪除該命令
刪除命令後,my-npm
則失效。
一、註冊npm 帳號
二、進入項目目錄,登錄 npm 帳號
$ npm adduser
Username:
Password:
Email:
複製代碼
以下圖:
三、上傳
npm publish
複製代碼
若包名已經存在,則會拋錯:
若包名和已經存在的包名類似,則拋出如下錯誤:
提示咱們能夠在包名前加上做用域,修改包名後繼續提交:
咱們能夠使用 npm version xx
命令來修改 npm 包的版本號,具體參數能夠經過 --help
來得到: