不得不說,npm的命令還是挺多的,除開最常用的npm install 以外,如果我們開發包,還是要掌握其他的常用命令,最詳細的文檔是官網文檔 ,當然大家也可以看我這篇劃重點的文章。
npm help
比 --help 提供更詳細的教程,甚至比看網頁更方便。
npm help install
npm help package.json
npm help npmrc
npm install
安裝遠程包,這也是最常見的操作:
npm i classnames
- 安裝本地包,假設你的項目叫package,在/Users/xxx/path/to/package目錄下
npm i /Users/xxx/path/to/package
- 安裝打包後(.tar)的本地包
// 先在你的包路徑下執行npm pack,生成tar文件
npm pack
// 然後安裝tar包
npm i /Users/xxx/path/to/package/package.tar
這個操作,在小程序調試本地包的時候,效果很好
- 安裝github repo,直接從github拉代碼進行安裝
npm i facebook/react
npm ls
查看當前安裝的某個包的版本
npm ls classnames
├─┬ @tarojs/[email protected]
│ └── [email protected] deduped // 重複數據
├── [email protected]
└─┬ [email protected]
└── [email protected] deduped
不傳包名會打印所有的依賴,此外,還支持傳入--depth
控制打印依賴的層數
npm ls
npm ls --depth 2
npm publish/ npm unpublish
發佈一個包/取消發佈一個包,要注意的是,如果想取消發佈一個包,會受到24小時內不能發佈新包的懲罰。而且24小時之後你也不能發佈同一個版本號,而必需發一個新的版本號。
可以使用 packages.json 裏面的 files 字段控制哪些文件發佈,也可以使用.npmignore告訴npm在發佈時忽略哪些文件。files字段具有更高的優先級,但是下面的文件始終會被打包進去:
o package.json
o README
o CHANGES / CHANGELOG / HISTORY
o LICENSE / LICENCE
o NOTICE
npm info
查看某個包的信息,如作者,最新版本,如果想看自己安裝的某個包的版本,請用npm ls
;
npm info classnames
author: 'Jed Watson',
repository: {
type: 'git',
url: 'git+https://github.com/JedWatson/classnames.git'
},
versions: [
'1.0.0', '1.1.0', '1.1.1',
'1.1.2', '1.1.3', '1.1.4',
'1.2.0', '1.2.1', '1.2.2',
'2.0.0', '2.1.0', '2.1.1',
'2.1.2', '2.1.3', '2.1.4',
'2.1.5', '2.2.0', '2.2.1',
'2.2.2', '2.2.3', '2.2.4',
'2.2.5', '2.2.6', '2.3.0',
'2.3.1'
],
homepage: 'https://github.com/JedWatson/classnames#readme',
bugs: { url: 'https://github.com/JedWatson/classnames/issues' },
license: 'MIT',
npm completion
使你的npm支持tab智能提示
npm completion >> ~/.bashrc
npm completion >> ~/.zshrc
npm config
- npm config list
顯示當前的npm 設置,包括email, username, registry...
- npm config get
npm config get registry
- npm config set
npm config set registry="私用registry"
npm adduser
登錄到npm,從而可以發佈npm 包
npm adduser [--registry=url] [--scope=@orgname] [--auth-type=legacy]
npm whoami
查看現在登錄的用戶名
npm link/npm unlink
在node_modules裏創建一個包的symlink,方便本地包的測試。
npm link path/to/you/package
npm search
在命令行根據關鍵字進行搜索
npm search react
npm ddp
對node_modules的重複包進行整理,生成感覺的依賴樹。
npm pack
創建一個package的tar壓縮包,然後可以本地安裝進行測試。