我們都知道,在使用 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 子目錄中發現一個指向安裝到全局的包的符号連結。通過這種方法,我們就可以把全局包當本地包來使用了。