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

Jac*_*ing 13 ubuntu continuous-integration npm travis-ci

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

# .travis.yml
...
cache:
  directories:
  - node_modules
...
Run Code Online (Sandbox Code Playgroud)

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

tan*_*ols 12

我就这样做了:

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

编辑:

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

  • 我也避免重新安装以节省更多时间:`npm list -g grunt-cli --depth = 0 || npm install -g grunt-cli` (3认同)