本文字數7300+,圖片19張,閱讀時間約爲18分鐘。
html
npm -v
6.4.1複製代碼
【11】若是以前是在官網下載的 node 安裝包,運行後會自動安裝在全局目錄,其中node
node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目錄中,具體路徑爲 /usr/local/lib/node_modules/npmgit
npm install --help複製代碼
npm install <tarball file>
npm install <tarball url>
npm install <folder>
npm install <pkg>
npm install <pkg>@<tag>
npm install <pkg>@<version>
npm install <pkg>@<version range>
複製代碼
【03】安裝包時,將包信息添加到package.json中。這樣代碼提交到github時,就不用提交node_modules這個文件夾了。github
npm install module_name --save
數據庫
【04】本地安裝(local) vs 全局安裝(global)本地安裝:
express
簡單說明一下:npm
grunt-cli@0.1.9:當前安裝的package爲grunt-cli,版本爲0.19
node_modules/grunt-cli:安裝目錄
resolve@0.3.1:依賴的包有resolve、nopt、findup-sync,它們各自的版本、依賴在後面的括號裏列出來。
var express = require('express');
複製代碼
grunt-cli@0.1.9 /usr/local/lib/node_modules/grunt-cli
├── resolve@0.3.1
├── nopt@1.0.10 (abbrev@1.0.4)
└── findup-sync@0.1.2 (lodash@1.0.1, glob@3.1.21)
複製代碼
npm uninstall grunt-cli
複製代碼
npm uninstall grunt-cli@"0.1.9"
複製代碼
npm update grunt-cli
npm search grunt-cli複製代碼
npm install npm -g
複製代碼
npm rm package_name[@版本號] [package_name[@版本號]...]json
使用這個命令刪除包。若是省略版本號, 那麼這個包的全部被找到的版本都將被刪除。gulp
舉例:windows
npm rm sax
複製代碼
npm rm -g express
複製代碼
npm help
npm init
複製代碼
npm cache clear
複製代碼
npm unpublish package@version
複製代碼
npm view moduleNames
複製代碼
npm view express
複製代碼
npm view moduleName labelName
複製代碼
npm view moudleName dependencies
複製代碼
npm view moduleName repository.url
複製代碼
npm view moduleName engines
複製代碼
npm outdated
複製代碼
npm help json
複製代碼
npm root
複製代碼
npm root -g複製代碼
npm config edit
這個命令會打開.npmrc文件。以記事本的方式打開。 複製代碼
npm config set proxy http://proxy.example.com:8080
複製代碼
npm set proxy http://proxy.example.com:8080
複製代碼
npm config get proxy
複製代碼
http://proxy.example.com:8080/
複製代碼
npm get proxy
複製代碼
npm delete proxy
複製代碼
npm config list
複製代碼
nrm (https://github.com/Pana/nrm)是一個管理 npm 源的工具。
好比可使用淘寶鏡像,這樣安裝和更新會比較快。慢的緣由,國情,你懂得。
nrm 用來切換官方 npm 源和國內的 npm 源(如: cnpm),也能夠用來切換官方 npm 源和公司私有 npm 源。
【02】全局安裝 nrm:
npm i nrm -g複製代碼
查看當前 nrm 內置的幾個 npm 源的地址:
切換到 cnpm:
nrm use cnpm
複製代碼
【】zyx456:安裝nrm後,使用nrm ls。告訴我缺失了不少庫。
Cannot find module 'config-chain'
Error: Cannot find module 'nopt'
Error: Cannot find module 'osenv'
Error: Cannot find module 'npmlog'
Error: Cannot find module 'has-unicode'
Error: Cannot find module 'uid-number'
Error: Cannot find module 'abbrev'
Error: Cannot find module 'npm-registry-client'
Error: Cannot find module 'chownr'
Error: Cannot find module 'dezalgo'
Error: Cannot find module 'npm-cache-filename'
……………………給本身的耐心點個贊。
npm install A
npm install B
npm install C
複製代碼
npm install
複製代碼
"dependencies": {
"request": "*",
"async": "*"
}
複製代碼
"dependencies": {
"request": "2.27.0",
"async": "0.2.9"
}
複製代碼
"dependencies": {
"request": "2.27.x",
"async": "0.2.x"
}
複製代碼
指定一個入口文件,
若是你包的名字叫foo,而後用戶require("foo"),main配置的模塊的exports對象會被返回。
這應該是一個相對於根目錄的文件路徑。
"main": "js/entry.js",
main 字段是一個模塊ID,它是一個指向你程序的主要項目。就是說,若是你包的名字叫 express,而後用戶安裝它,而後require("express")。
若是有人要使用你的模塊,那麼他們可能不須要你開發使用的外部測試或者文檔框架。
在這種狀況下,最好將這些附屬的項目列在devDependencies中。
這些東西會在執行npm link或者npm install的時候初始化,並能夠像其餘npm配置參數同樣管理。
【01】迄今爲止Node.js 更新速度還很快,有時候新版本還會將舊版本的一些 API 廢除,以致於寫好的代碼不能向下兼容。有時候想要嘗試一下新版本有趣的特性,但又想要保持一個相對穩定的環境。