Npm bcrypt binary not saved to cache?

Hey there.

We’re using CircleCI to developed our open-source multiplayer teaming software, Action.

Recently we added a package to our package.json that requires a binary build of bcrypt. This is what our circle.yml looks like:

machine:
  node:
    version: 7.0.0
dependencies:
  pre:
    - source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
    - wget -qO- https://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
    - sudo apt-get update
    - sudo apt-get install build-essential g++ # so we can build bcrypt bindings
    - sudo apt-get install rethinkdb
    - sudo cp /etc/rethinkdb/default.conf.sample /etc/rethinkdb/instances.d/instance1.conf
    - sudo /etc/init.d/rethinkdb restart
  post:
    - npm run db:migrate
test:
  post:
    - npm run build:server
    - npm run build:client-min
    - npm run lint
    - npm run test

If I clear the cache, our build succeeds. A message on the CircleCI console shows that the cache is being saved, but all subsequent builds fail…unless we rebuild with a cleared cache again.

Is there something we need to override?