npm更新
首先先更新吧
第一步:
首先安装n模块:
npm install -g n
第二步:
升级node.js到最新稳定版
n stable
n后面也可以跟随版本号比如:
n v 0.10.26
或
n 0.10.26
另外分享几个npm的常用命令
npm -v #显示版本,检查npm 是否正确安装。npm install express #安装express模块npm install -g express #全局安装express模块npm list #列出已安装模块npm show express #显示模块详情npm update #升级当前目录下的项目的所有模块npm update express #升级当前目录下的项目的指定模块npm update -g express #升级全局安装的express模块npm uninstall express #删除指定的模
npm –sva-dev
npm install X:
- 会把X包安装到node_modules目录中
- 不会修改package.json
- 之后运行npm install命令时,不会自动安装X
npm install X –save:
-
会把X包安装到node_modules目录中
-
会在package.json的dependencies属性下添加X
-
之后运行npm install命令时,会自动安装X到node_modules目录中
-
之后运行npm install
–production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中
npm install X –save-dev:
-
会把X包安装到node_modules目录中
-
会在package.json的devDependencies属性下添加X
-
之后运行npm install命令时,会自动安装X到node_modules目录中
-
之后运行npm install
–production或者注明NODE_ENV变量值为production时,不会自动安装X到node_modules目录中
总结
devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。像 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 -save 的形式安装。
package.json和package-lock.json
最新版nodejs中,多了一个package-lock.json文件,刚开始对这个文件很是疑惑,后来查了一番资料后,通过验证,终于确定了这两个文件的关系。
package.json与package-lock.json文件的作用
package.json文件记录你项目中所需要的所有模块。当你执行npm install的时候,node会先从package.json文件中读取所有dependencies信息,然后根据dependencies中的信息与node_modules中的模块进行对比,没有的直接下载,已有的检查更新(最新版本的nodejs不会更新,因为有package-lock.json文件,下面再说)。另外,package.json文件只记录你通过npm install方式安装的模块信息,而这些模块所依赖的其他子模块的信息不会记录。
package-lock.json文件锁定所有模块的版本号,包括主模块和所有依赖子模块。当你执行npm install的时候,node从package.json文件读取模块名称,从package-lock.json文件中获取版本号,然后进行下载或者更新。
因此,正因为有了package-lock.json文件锁定版本号,所以当你执行npm install的时候,node不会自动更新package.json文件中的模块,必须用npm install packagename(自动更新小版本号)或者npm install packagename@x.x.x(指定版本号)来进行安装才会更新,package-lock.json文件中的版本号也会随着更新。
附:当package.json与package-lock.json都不存在,执行"npm install"时,node会重新生成package-lock.json文件,然后把node_modules中的模块信息全部记入package-lock.json文件,但不会生成package.json文件,此时,你可以通过"npm init –yes"来生成package.json文件
npm常用命令详解