yarn command not found in gitlab ci

Panshul picture Panshul · Mar 3, 2017 · Viewed 12.7k times · Source

I am trying to configure my gitlab-ci to use yarn install instead of npm install

My current gitlab-ci.yml looks like:

image: node:6.9.4

cache:
  paths:
  - node_modules/
  - .yarn

before_script:
  - apt-get update -qq && apt-get install -qy libelf1

stages:
  - test

test_core:
  stage: test
  script:
  - yarn config set cache-folder .yarn
  - yarn install
  - npm run build
  - npm run test
  tags:
    - 2gb

But the build fails with the error: /bin/bash: line 48: yarn: command not found

is there something I am missing? I tried installing yarn with:

curl -o- -L https://yarnpkg.com/install.sh | bash

this gave me same error, probably because I need to reload the bash environment for the yarn command to become available.

The above config works perfect with npm install.

Please help me resolve this. If there is something missing in my config file or there is something wrong with the gitlab-ci. Thanks.

Answer

Panshul picture Panshul · Mar 5, 2017

Solved it by using the latest official node docker image. Since image: 6.10.0, yarn is installed by default in the image.

But if you need node-gyp to build any package, it needs to be installed by adding a line to the script:

yarn global add node-gyp