Class: Kuby::Docker::Packages::Yarn

Inherits:
Package
  • Object
show all
Defined in:
lib/kuby/docker/packages/yarn.rb

Instance Attribute Summary

Attributes inherited from Package

#name, #version

Instance Method Summary collapse

Methods inherited from Package

#initialize, #managed?, #with_version

Constructor Details

This class inherits a constructor from Kuby::Docker::Packages::Package

Instance Method Details

#install_on_alpine(dockerfile) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/kuby/docker/packages/yarn.rb', line 20

def install_on_alpine(dockerfile)
  dockerfile.run(<<~CMD.strip)
    wget #{url} && \\
      yarnv=$(basename $(ls yarn-*.tar.gz | cut -d'-' -f 2) .tar.gz) && \\
      tar zxvf yarn-$yarnv.tar.gz -C /opt && \\
      mv /opt/yarn-$yarnv /opt/yarn && \\
      apk add --no-cache gnupg && \\
      wget -qO- https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --import && \\
      wget https://github.com/yarnpkg/yarn/releases/download/$yarnv/yarn-$yarnv.tar.gz.asc && \\
      gpg --verify yarn-$yarnv.tar.gz.asc
  CMD

  dockerfile.env("PATH=$PATH:/opt/yarn/bin")
end

#install_on_debian(dockerfile) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/kuby/docker/packages/yarn.rb', line 5

def install_on_debian(dockerfile)
  dockerfile.run(<<~CMD.strip)
    wget #{url} && \\
      yarnv=$(basename $(ls yarn-*.tar.gz | cut -d'-' -f 2) .tar.gz) && \\
      tar zxvf yarn-$yarnv.tar.gz -C /opt && \\
      mv /opt/yarn-$yarnv /opt/yarn && \\
      apt-get install -qq -y --no-install-recommends gnupg && \\
      wget -qO- https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --import && \\
      wget https://github.com/yarnpkg/yarn/releases/download/$yarnv/yarn-$yarnv.tar.gz.asc && \\
      gpg --verify yarn-$yarnv.tar.gz.asc
  CMD

  dockerfile.env("PATH=$PATH:/opt/yarn/bin")
end