code: function arch() {
    /**
     * The running binary is 64-bit, so the OS is clearly 64-bit.
     */
    if (process.arch === "x64") {
      return "x64";
    }
  
    /**
     * All recent versions of Mac OS are 64-bit.
     */
    if (process.platform === "darwin") {
      return "x64";
    }
  
    /**
     * On Windows, the most reliable way to detect a 64-bit OS from within a 32-bit
     * app is based on the presence of a WOW64 file: %SystemRoot%\SysNative.
     * See: https://twitter.com/feross/status/776949077208510464
     */
    if (process.platform === "win32") {
      var useEnv = false;
      try {
        useEnv = !!(
          process.env.SYSTEMROOT && fs.statSync(process.env.SYSTEMROOT)
        );
      } catch (err) {}
  
      var sysRoot = useEnv ? process.env.SYSTEMROOT : "C:\\Windows";
  
      // If %SystemRoot%\SysNative exists, we are in a WOW64 FS Redirected application.
      var isWOW64 = false;
      try {
        isWOW64 = !!fs.statSync(path.join(sysRoot, "sysnative"));
      } catch (err) {}
  
      return isWOW64 ? "x64" : "x86";
    }
  
    /**
     * On Linux, use the `getconf` command to get the architecture.
     */
    if (process.platform === "linux") {
      var output = cp.execSync("getconf LONG_BIT", { encoding: "utf8" });
      return output === "64\n" ? "x64" : "x86";
    }
  
    /**
     * If none of the above, assume the architecture is 32-bit.
     */
    return "x86";
  }
docs: Since os.arch returns node binary's target arch, not
  the system arch.
  Credits: https://github.com/feross/arch/blob/af080ff61346315559451715c5393d8e86a6d33c/index.js#L10-L58