Node.js 全局包
软件包是包含在程序中的库。
必须在使用它们的每个项目中安装本地包,然而全局包只需要安装在一个位置。
要安装一个全局包,请使用-g
或--global
选项命令npm安装。
你可以通过处理全局包向大多数 npm
命令添加 -g
选项。
要查看已安装的全局包,请使用命令 npm ls -g
。
要查找全局node_modules文件夹,请使用npm ls -g command
。
我们看到的所有NPM命令都带有一个可选的-g标记,表示你正在使用全局模块。
例子
以下代码全局安装browserify包。
npm install -g browserify
这种在命令行上放置browserify,我们在前一章中使用过。
更新的全局包
npm update -g package-name
列出全局包
npm ls -g
卸载包
npm rm -g package-name
例如,要卸载Browserify,将运行
npm rm -g browserify
在全局安装模块时,NPM不会修改系统配置。
全局模块放置在命令行上使它们可用的位置。
使用全局模块的require
全局安装的模块不应该在我们的代码中使用require函数,虽然许多支持全局标记的包也支持在我们的项目里本地安装(node_modules文件夹)。
如果安装在本地,也就是没有-g标记,我们可以使用require函数,如我们已经看到的。
一个很好的简单例子就是rimraf模块(www.npmjs.org/package/rimraf)。
如果全局安装了 rimraf
(npm install -g rimraf),它提供了一个命令行实用程序,你可以跨平台递归和强制删除目录。
要在全局安装rimraf后删除目录myData,请运行
rimraf myData
要从Node.js代码做同样的事情,在本地安装rimraf(npm install rimraf),创建一个app.js如图所示。
var rimraf = require("rimraf");
rimraf("./foo", function (err) {
if (err)
console.log("Error occured:", err);
else
console.log("Directory foo deleted!");
})