我们都知道,在使用 npm 安装包的时候,有两种模式:本地模式和全局模式。它们的区别是前者将包安装到了当前目录的node_modules下,后者把包安装到了/usr/local/lib/node_modules/中;此外,全局模式安装的包并不能直接在 JavaScript 文件中用 require 获得,因为 require 不会搜索 /usr/local/lib/node_modules/。
根据上面可知,全局包和本地包的差异,npm 提供了一个有趣的命令 npm link,它的功能是在本地包和全局包之间创建符号链接。我们说过使用全局模式安装的包不能直接通过 require 使用,但通过 npm link命令可以打破这一限制。举个例子,我们已经通过 npm install -g express 安装了 express,这时在工程的目录下运行命令:
$ npm link express
我们可以在 node_modules 子目录中发现一个指向安装到全局的包的符号链接。通过这种方法,我们就可以把全局包当本地包来使用了。