如何在 Travis CI 上缓存全局 NPM 包?

How do I cache global NPM packages on Travis CI?

本地安装的包通过以下方式缓存:

# .travis.yml
...
cache:
  directories:
  - node_modules
...

但是我如何缓存全局安装的包 ($ npm install -g <...>) 以加速我的构建?

我是这样做的:

cache:
  directories:
    # Replace "grunt-cli" with whatever global binary you're using
    - $(npm config get prefix)/bin/grunt-cli

编辑:

正如评论中指出的那样,$(npm config get prefix)/bin 包含指向其他代码的符号链接。这是未经测试的,但可能会起作用:$(npm config get prefix)/lib/node_modules。那应该缓存所有全局安装的模块。