Npm学习(3)如何安装本地包,更新本地安装包,卸载本地安装包
如何安装本地包
有两种方式用来安装 npm 包:本地安装和全局安装。至于选择哪种方式来安装,取决于我们如何使用这个包。
如果你自己的模块依赖于某个包,并通过 Node.js 的require加载,那么你应该选择本地安装,这种方式也是npm install命令的默认行为。
如果你想将包作为一个命令行工具,(比如 grunt CLI),那么你应该选择全局安装。
想要了解更多关于install命令行的行为,可以查看CLI 文档。
安装一个包
安装
可以使用下面的命令来安装一个包:npm install <package_name>
上述命令执行之后将会在当前的目录下创建一个node_modules的目录(如果不存在的话),然后将下载的包保存到这个目录下。
为了确认npm install是正常工作的,可以检查node_modules目录是否存在,并且里面是否含有你安装的包的文件夹。
实例:
安装一个叫做lodash的包。安装成功之后,如果node_modules目录下存在一个名为lodash的文件夹,则说明成功安装了这个包。
Microsoft Windows:
C: npm install lodash C: dir node_modules #=> lodashmacOS, Ubuntu, Debian
> npm install lodash > ls node_modules #=> lodash哪个版本的包会被安装了?
在本地目录中如果没有package.json这个文件的话,那么最新版本的包会被安装。
如果存在package.json文件,则会在package.json文件中查找针对这个包所约定的语义化版本规则,然后安装符合此规则的最新版本。
使用已安装的包
一旦将包安装到node_modules目录中,你就可以使用它了。比如在你所创建的 Node.js 模块中,你可以require这个包。
实例:
创建一个名为index.js的文件,并保存如下代码:
//index.js
varlodash=require('lodash');
varoutput=lodash.without([1,2,3],1);
console.log(output);
运行node index.js命令。应当输出[2, 3]。
如果你没能正确安装lodash,你将会看到如下的错误信息:
module.js:340 throw err; ^ Error: Cannot find module 'lodash'可以在index.js所在的目录中运行npm install lodash命令来修复这个问题。
如何更新本地安装的包
定期更新你的应用所依赖的包(package)是个好习惯。因为依赖包的开发者更新了代码,你的应用也就能够获得提升。
为了完成这个任务需要:
在package.json文件所在的目录中执行npm update <package>命令。
执行npm outdated命令。不应该有任何输出。此命令将检查注册表,以查看当前是否有任何(或特定的)已安装的包过期。
如何卸载本地安装的包
如需删除 node_modules 目录下面的包(package),请执行:npm uninstall <package>
如需从package.json文件中删除依赖,需要在命令后添加参数--save也就是是:npm uninstall --save <package>
注意:如果你将安装的包作为 'devDependency'(也就是通过--save-dev参数保存的),那么--save无法将其从package.json文件中删除。所以必须通过--save-dev参数可以将其卸载,也就是npm uninstall --save-dev <package>
试一试:
为了确定npm uninstall命令执行成功,请找到node_modules目录,并在此目录下检查你所卸载的包(package)所对应的目录是否消失了。
通过如下命令:
ls node_modules在 Unix 系统中使用,例如 'OSX'
dir node_modules在 Windows 系统中使用。
实例:
安装lodash。为了确认安装成功,请检查node_modules目录下是否存在lodash目录。
通过npm uninstall命令卸载lodash。为了确认执行成功,请检查node_modules目录下不存在lodash目录。