title: Docker Node:Alpine-12: how to install Chromium 73 in Dockerfile?
body: <p>Since I would like to run Puppeteer@1.19 but faces error in page.pdf(). </p>
  
  <p>Some blobs just mentioned to downgrade Chromium from version 76 to 73. How to do it in Dockerfile with using node:alpine-12? Thanks </p>
  
  <p>Below is my setting (chromium version is 76):</p>
  
  <pre><code>FROM node:12-alpine
  ########## 
  ## Setting for using Puppeteer (for using node:XX-alpine)
  ##########    
  ENV CHROME_BIN="/usr/bin/chromium-browser"\
      PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
  ########## 
  ## Update and Install packages
  ##########
  RUN set -x \
      &amp;&amp; apk update \
      &amp;&amp; apk upgrade \
      &amp;&amp; echo "127.0.0.1 localhost" &gt;&gt; /etc/hosts \
      &amp;&amp; echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" &gt; /etc/apk/repositories \
      &amp;&amp; echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" &gt;&gt; /etc/apk/repositories \
      &amp;&amp; echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" &gt;&gt; /etc/apk/repositories \
      # add the packages
      ## g++: used to install NodeJS related packages
      ## chromium: used to run Puppeteer
      &amp;&amp; apk add --no-cache g++ chromium 
  </code></pre>
  
  <p>Tried to change last line to <code>chromium</code> to <code>chromium-browser@73</code> or <code>chromium@73</code> but faced below error: </p>
  
  <blockquote>
    <p>The repository tag for world dependency 'chromium@73' does not exist</p>
  </blockquote>
  
  <p>FYI, error when I just installed <code>chromium</code> with running below NodeJS code:</p>
  
  <pre><code>Line239: await page.pdf({
              path: TEMP_DIR + filename, 
              format: 'A4',
              printBackground: true
           });
  </code></pre>
  
  <blockquote>
    <p>printPdf() Error<br>
    Error: Protocol error (IO.read): Invalid parameters handle: string value expected<br>
        &nbsp;at /usr/src/app/node_modules/puppeteer/lib/Connection.js:183:56<br>
        &nbsp;at new Promise ()<br>
        &nbsp;at CDPSession.send (/usr/src/app/node_modules/puppeteer/lib/Connection.js:182:12)<br>
        &nbsp;at Function.readProtocolStream (/usr/src/app/node_modules/puppeteer/lib/helper.js:241:37)<br>
        &nbsp;at async Page.pdf (/usr/src/app/node_modules/puppeteer/lib/Page.js:988:12)<br>
        &nbsp;at async printPdf (/usr/src/app/puppeteer.js:239:9)<br>
        &nbsp;at async /usr/src/app/puppeteer.js:129:21<br>
      &nbsp;-- ASYNC --<br>
        &nbsp;at Page. (/usr/src/app/node_modules/puppeteer/lib/helper.js:111:15)<br>
        &nbsp;at printPdf (/usr/src/app/puppeteer.js:239:20)<br>
        &nbsp;at processTicksAndRejections (internal/process/task_queues.js:85:5)<br>
        &nbsp;at async /usr/src/app/puppeteer.js:129:21 {
      message: 'Protocol error (IO.read): Invalid parameters handle: string value expected'<br>
    }</p>
  </blockquote>