发表于 2016年2月13日
npm是js界的包管理器,这里记录一下它基本的使用方法。
https://nodejs.org/ 下载安装nodejsnode -v查看安装版本
node自带npm, npm -v查看npm版本
更新到最新版本npm install npm -g
如果遇到permission错误到这里看看https://docs.npmjs.com/getting-started/fixing-npm-permissions
分为本地安装和全局安装,本地安装后你可以在的程序中用require('package')访问,全局安装通常是用于命令行工具,例如构建工具grunt CLI.
npm install <package_name>
如果有package.json指明依赖,则不需要输入package_name直接npm install 即可全部安装完成。
运行后会当前目录生成一个node_modules目录,package会安装在里边
如果当前目录有一个package.json 则会安装里边指定的版本,否则安装最新版.
安装完成即可在代码中使用了require('lodash'); //如果没有安装loadash则会报错
npm install -g <package_name>
全局包安装路径:
npm root -g 显示全局包安装路径
在我的电脑上显示 C:\Users\Administrator\AppData\Roaming\npm\node_modules
package.json最低要求需要name与version
{
"name": "my-awesome-package",
"version": "1.0.0"
}
自动创建package.json
npm init
然后一路填表就可以了,author部分可以填多一些
Your Name <email@example.com> (http://example.com)
指明包依赖列表
"dependencies": these packages are required by your application in production"devDependencies": these packages are only needed for development and testing安装package时自动加入依赖列表
npm install <package_name> --save 加入到dependenciesnpm install <package_name> --save-dev 加入到devDependencies
npm ls 查看已经安装的packagenpm outdated 查看是否有新版本 ,分为 current wanted latestnpm update 更新到wanted版本,加--save,保存到package.json
如需更新到latest,建议安装 npm-check-updates 插件
npm ls -g --depth=0 查看都安装了哪些全局包npm outdated -g --depth=0 查看哪个包需要更新npm install -g <package_name> 更新npm update -g 更新所有的全局包
npm uninstall <package_name>
删除包,但不会清理package.json中的依赖项,下次npm ls时会报错缺少包
npm uninstall --save <package_name> 这样连依赖一起删掉
如果只删除了依赖,没有删除包,下次npm ls时会报多了包
这时应该用npm prune把包也删除掉
npm uninstall -g <package_name>
npm adduser
填入用户名密码邮箱, https://www.npmjs.com/~用户名查看是否创建成功
确保package.json填写正确
npm publish
如果报错考虑是否package.json中的name有重复了,修改后再次发布试试.
修改后再次npm publish 后会报错,是因为没有修改version.
手动修改package.json或者用下边三条命令来修改版本后,再publish
npm version patch //末位npm version minor //中间npm version major //首位
对于 发布者 来说当项目准备公开时,版本号应该为1.0.0
1.0.1 对应命令npm version patch1.1.0 对应命令npm version minor2.0.0对应命令 npm version major对于 使用者 来说,可以安装指定的版本
npm install package_name@1.x
版本更多内容:
https://docs.npmjs.com/misc/semver
开发过程中更新包后,需要更新package.json里依赖的版本号到最新。
最简单的办法是使用 npm-check-updates
安装:
npm install -g npm-check-updates
显示当前项目所有依赖:
$ ncu
express 4.12.x → 4.13.x
multer ^0.1.8 → ^1.0.1
react-bootstrap ^0.22.6 → ^0.24.0
react-a11y ^0.1.1 → ^0.2.6
webpack ~1.9.10 → ~1.10.5
Run with -u to upgrade your package.json
更新:
$ ncu -u
express 4.12.x → 4.13.x
package.json upgraded
更新完毕。
安装太慢可以使用淘宝镜像
安装 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装后就可以用cnpm代替npm了
还有暂时用不到的有待研究:
私有包
https://docs.npmjs.com/getting-started/scoped-packages
tag
https://docs.npmjs.com/getting-started/using-tags
来自: https://yarnpkg.com/en/docs/migrating-from-npm#toc-cli-commands-comparison
| npm (v5) | Yarn |
|---|---|
| npm install | yarn add |
| (N/A) | yarn add --flat |
| (N/A) | yarn add --har |
| npm install --no-package-lock | yarn add --no-lockfile |
| (N/A) | yarn add --pure-lockfile |
| npm install [package] --save | yarn add [package] |
| npm install [package] --save-dev | yarn add [package] --dev |
| (N/A) | yarn add [package] --peer |
| npm install [package] --save-optional | yarn add [package] --optional |
| npm install [package] --save-exact | yarn add [package] --exact |
| (N/A) | yarn add [package] --tilde |
| npm install [package] --global | yarn global add [package] |
| npm update --global | yarn global upgrade |
| npm rebuild | yarn add --force |
| npm uninstall [package] | yarn remove [package] |
| npm cache clean | yarn cache clean [package] |
| rm -rf node_modules && npm install | yarn upgrade |
| npm version major | yarn version --major |
| npm version minor | yarn version --minor |
| npm version patch | yarn version --patch |
留言系统需要代理访问