anchor.diff:      git \
       jq \
       libav-tools \
  +    libgconf-2-4 \
       moreutils \
       shellcheck \
       sudo \
  
positive.code:     && rm -rf /tmp/* /var/lib/apt/lists/* \
      && rm -rf /usr/bin/google-chrome* /opt/google/chrome-unstable
  
  # Add chatie user.
  RUN groupadd -r bot && useradd -r -m -G audio,video,sudo -g bot -d /bot bot \
      && mkdir -p /bot/Downloads \
      && chown -R bot:bot /bot \
      && echo "bot ALL=NOPASSWD:ALL" >> /etc/sudoers
  
  RUN mkdir /wechaty \
      && chown -R bot:bot /wechaty \
      && mkdir /node_modules
  
  WORKDIR /wechaty
  
  # Run user as non privileged.
  USER bot
  
  COPY package.json .
  RUN npm install \
  
negative.code: 
  # Loading from node_modules Folders: https://nodejs.org/api/modules.html
  # If it is not found there, then it moves to the parent directory, and so on, until the root of the file system is reached.
  RUN sudo mkdir /bot \
      && npm link \
      && sudo ln -s /wechaty /node_modules/wechaty \
      && sudo ln -s /wechaty/node_modules/* /node_modules/ \
      && sudo ln -s /wechaty/node_modules/.bin/* /usr/local/bin/ \
  