npm包管理器

包管理器 Node Package Manager:

1类:本地开发使用的包 (devDependencies),如:gulp
2类:项目依赖包 (dependencies),如:jquery

升级NodeJS:
 npm i n -g
 n stable  //升级到最新版本

nv0.12.2     //升级到指定版本

注:n模块是专门用来管理nodejs版本的

注:windows下升级npm: npm install npm@latest -g  

注:windows下升级node:下载指定版本 .msi 文件,安装到历史安装目录,即完成版本更新

     (附带最新版的npm, 可通过命令:where node,查看当前node的安装目录)。

初始化(生成package.json ,即npm脚本):

npm init

注:参数 -y 初始化过程中一路绿灯(一路yes)

安装包:

npm install [包名]

//例如:npm install gulp

注:install可简写为 i

注:参数 --global 简写 -g  ,全局安装,,默认为装在本地

注:参数 --save-dev 简写 -D,开发依赖包,写入package.json中的devDependencies

注:参数 --save 简写 -S,项目上线依赖包,写入package.json中的dependencies

#只安装生产环境(dependencies)包:

npm i --product

卸载包:

#npm remove | uninstall [包名]

注:参数 --global 全局卸载,简写 -g

#查看包信息:

npm info [包名]

#安装具体某个版本包:

npm i [包名]@[版本号] -D

//例:npm i gulp@3 -D     

         npm i [email protected] -D

#查看已安装的包及其依赖包结构:

npm ls

#查看指定已安装包及其依赖

npm list | grep [包名]

#查看已过期的包:

npm outdated [包名]

注:包名可为空

#更新已安装包到最新版本:

npm update

#登录npm

npm login

#发布包

npm publish

执行package.json中自定义的脚本scripts:

如:

npm run iu

小工具nrm查看源,查看和切换当前使用的registry:

npm i nrm -g

$ nrm ls

* npm ---- https://registry.npmjs.org/
  cnpm --- http://r.cnpmjs.org/
  eu ----- http://registry.npmjs.eu/
  au ----- http://registry.npmjs.org.au/
  sl ----- http://npm.strongloop.com/
  nj ----- https://registry.nodejitsu.com/

nrm test 测试各个源速度

nrm use cnpm 切换源

更新npm至最新版本:

npm install -g npm
清除缓存:
npm cache clean

注:    package.json中的版本号控制中的 ^ 表示保证第一位为锁定,其他位为最新版本,

如:当package.json,记录gulp为^1.7.2而最新版本为1.8.5,则init时会下载1.8.5

~保证前两位为锁定,如:~1.7.2 (常用)

*保证最新版本,如: *

不带任何符号,只有版本号,如:1.7.2,则构建时只会下载对应的版本号 (常用)


注:packge.json中的name是发布包时的唯一标识,因此不能重复


国内NPM安装依赖速度慢问题?

使用淘宝镜像:http://npm.taobao.org/

方案一(推荐):使用cnpm代替npm

npm install cnpm -g --resgistry=https://resgistry.npm.taobao.org
之后安装都可使用cnpm代替npm ,如:
cnpm install gulp

方案二:在安装时可以手动指定从哪个镜像服务器获取资源,使用阿里巴巴在国内的镜像服务器

npm install -gd express --registry=http://registry.npm.taobao.org

只需要使用–registry参数指定镜像服务器地址,为了避免每次安装都需要 --registry参数,可以使用如下命令进行永久设置:

npm config set registry http://registry.npm.taobao.org

注:cnpm与npm还是有区别的,使用npm安装会附带一些其他信息,如使用 npm ls命令时

npm install 生成的package-lock.json是什么文件?有什么用?
package-lock.json is automatically generated for any operations where npm modifies either the node_modules tree, or package.json.
 It describes the exact tree that was generated, such that subsequent installs are able to generate identical trees, regardless
 of intermediate dependency updates.

大概意思是:package-lock.json是当 node_modules 或 package.json 发生变化时自动生成的文件。这个文件主要功能是确定当前安装的包的依赖,以便后续重新安装的时候生成相同的依赖,而忽略项目开发过程中有些依赖已经发生的更新。

你可能感兴趣的:(nodejs)