當我在一個農村的小鎮上,用的是移動寬帶,用npm去拉載一些依賴時,常常拋出javascript
info There appears to be trouble with your network connection. Retrying... //你的網絡鏈接彷佛有問題,在重試…
複製代碼
哪怕我開了網絡代理,也會出現,html
安裝一個依賴很是麻煩,這時纔想到用淘寶鏡像代理vue
npm --registry https://registry.npm.taobao.org install express
複製代碼
npm config set registry https://registry.npm.taobao.org
複製代碼
這樣的話,你用npm走的仍是官方的,cnpm走的代理java
npm install -g cnpm --registry=https://registry.npm.taobao.org
複製代碼
npm config set registry https://registry.npmjs.org
複製代碼
npm info express
or
npm config get registry
複製代碼
整理 npm 經常使用的一些命令,方便查看node
你能夠經過下面的命令顯示npm當前的版本:react
npm -v
複製代碼
若是有須要,能夠經過下面的命令更新npm:git
npm install -g npm
複製代碼
當 Node 的主版本 released 以後,你也可能須要從新構建 C++ 擴展:vue-router
npm rebuild
複製代碼
若是你須要管理多個版本的node.js和npm,能夠考慮使用 n 或者 nvm,www.sitepoint.com/quick-tip-m…,我推薦你們使用nvm去管理node.js版本shell
如需刪除 node_modules 目錄下面的包(package),請執行:express
npm uninstall :
npm uninstall lodash
複製代碼
如需從 package.json 文件中刪除依賴,須要在命令後添加參數 --save:
npm uninstall --save lodash
複製代碼
注意:若是你將安裝的包做爲 "devDependency"(也就是經過 --save-dev 參數保存的),那麼 --save 沒法將其從 package.json 文件中刪除。因此必須經過 --save-dev 參數能夠將其卸載。
npm update package #更新局部模塊
npm update -g package #更新全局模塊
npm update -g package@version #更新全局模塊 package-name 到 x.x.x 版本
複製代碼
npm view react versions 查看包在npm全部版本
npm i vue@2.0.0 --save 安裝指定版本
複製代碼
當你正在開發一個模塊時,會常常想在其它項目中嘗試使用或者在任何一個目錄運行它(若是你的應用支持),這時不必將其發佈到 npm,並全局安裝---僅需在該模塊所在目錄使用下面的命令:
npn list
複製代碼
該命令會爲模塊在全局目錄下建立一個符號連接。能夠經過下面的命令查看模塊引用:
npm list -g --depth=0
複製代碼
或者:
npm outdated -g
複製代碼
如今,就能夠從命令行運行模塊或者經過 require 在任何項目中引入該模塊。
另外一個選擇是,能夠經過文件路徑在 package.json 文件中聲明對該模塊的依賴:
"dependencies": {
"myproject": "file:../myproject/"
}
複製代碼
npm root #查看本地安裝的目錄
npm root -g #查看全局安裝的目錄
npm info package #查看包信息
npm ls #查看本地安裝包
npm ls -g #查看全局安裝包,包含依賴
npm ls -g --depth 0 #查看全局安裝包,不包含依賴
npm outdated #列出全部不是最新版的包,能夠帶參數
npm cache clean #清除本地緩存
npm config ls -l #查看npm配置
npm view package versions #查看包的全部版本
npm publish #發佈包
npm access #設置發佈包的訪問級別
npm search modulNmae #搜索包是否存在
複製代碼
說完了npm,天然也得說下package.json文件的做用,以及說明
name - 包名
version - 包的版本號
description - 包的描述
homepage - 包的官網 url
author - 包的做者姓名
contributors - 包的其餘貢獻者姓名
dependencies - 依賴包列表。若是依賴包沒有安裝,npm 會自動將依賴包安裝在 node_module 目錄下
repository - 包代碼存放的地方的類型,能夠是 git 或 svn,git 可在 Github 上
main - main 字段是一個模塊ID,它是一個指向你程序的主要項目。就是說,若是你包的名字叫 express,而後用戶安裝它,而後require("express")
keywords - 關鍵字
複製代碼
-global: 簡寫 -g
npm i express -g 爲全局安裝,這種就能夠直接使用express命令, 不然會提示express不是內部或外部命令
-save: 簡寫 -S, 做用是在package.json的dependencies字段增長或修改安裝包和版本號
-save-dev: 簡寫 -D, 是修改devDependencies, 這樣就不用安裝了某個包以後手動修改package.json
複製代碼
版本分爲: 主版本號、次版本號、補丁版本號
"devDependencies": {
"vue": "~2.2.2", // 匹配最近小版本,如,會匹配全部的2.2.x版本,但最高不會匹配2.3.0
"vue-router": "^2.2.0" // 最近的一個大版本,全部 2.x.x但不不包括3.0.0,至關於 2.0.0 <= version < 3.0.0
}
複製代碼
script屬性定義的對應了一段shell腳本
npm start 啓動模塊
該命令寫在package.json文件scripts的start字段中,能夠自定義命令來配置一個服務器環境和安裝一系列的必要程序
"scripts": {
"start": "gulp -ws"
}
npm stop 中止模塊
npm restart 從新啓動模塊
你可能在開發中用到是用npm run xxx,之類的,start ,stop,restart 是幾個通用命令,闊以不用加run
npm start === npm run start
複製代碼
npm模塊管理器
詳細介紹了npm的使用,以及參數相關配置