Как кэшировать глобальные пакеты NPM на Travis CI?

Локально установленные пакеты кэшируются через:

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

Но как кэшировать глобально установленные пакеты ($ npm install -g <...>), чтобы ускорить мои сборки?

Ответ 1

Вот как я это сделал:

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

EDIT:

Как отмечалось в комментариях, $(npm config get prefix)/bin содержит символические ссылки на другой код. Это не проверено, но, вероятно, будет работать: $(npm config get prefix)/lib/node_modules. Это должно кэшировать все глобально установленные модули.