Pipeline fails to install npm global package on new gitlab-runner 13.3.0-rc1 (669fc507)

Summary

NOW WORKING

Pipeline fails to install npm global package on new gitlab-runner 13.3.0-rc1 (669fc507), was working August 13, 2020.

Looks like during the npm install, an alias call to /usr/local/bin/vue -> /usr/local/lib/node_modules/@vue/cli/bin/vue.js fails.

Was attempting to install @vue/cli@4.5.3.

No changes to .gitlab-ci.yml file. No changes to the npm package installed, as best as I can see.

Steps to reproduce

Run the following.

image: node:10.15.3

stages:
  - build

variables:
  GIT_SUBMODULE_STRATEGY: recursive

client:build:
  stage: build
  script:
    - npm --version
    - node --version
    - npm install -g @vue/cli
date gitlab-runner outcome
August 11, 2020 gitlab-runner 13.2.2 (a998cacd) success
August 12, 2020 gitlab-runner 13.3.0-rc1 (669fc507) success
August 13, 2020 gitlab-runner 13.3.0-rc1 (669fc507) npm ERR! Invalid dependency type requested: alias

Example Project

(If possible, please create an example project here on GitLab.com that exhibits the problematic behavior, and link to it here in the bug report)

(If you are using an older version of GitLab, this will also determine whether the bug is fixed in a more recent version)

What is the current bug behavior?

npm install -g @vue/cli will fail to install @vue/cli@4.5.3.

What is the expected correct behavior?

Was installing @vue/cli@4.5.3 successfully.

Running with gitlab-runner 13.3.0-rc1 (669fc507)
  on docker-auto-scale fa6cab46
Preparing the "docker+machine" executor
00:38
Using Docker executor with image node:10.15.3 ...
Pulling docker image node:10.15.3 ...
Using docker image sha256:5a401340b79fc623c9aec2a679f16ceb8a3b8865446691564bb104394fd0ce20 for node:10.15.3 ...
Preparing environment
00:04
Running on runner-fa6cab46-project-11929366-concurrent-0 via runner-fa6cab46-srm-1597342076-021cb712...
Getting source from Git repository
.
.
.
$ npm install -g @vue/cli
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/joi@15.1.1: joi is leaving the @hapi organization and moving back to 'joi' (https://github.com/sideway/joi/issues/2411)
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/address@2.1.4: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
/usr/local/bin/vue -> /usr/local/lib/node_modules/@vue/cli/bin/vue.js
> core-js@3.6.5 postinstall /usr/local/lib/node_modules/@vue/cli/node_modules/core-js
> node -e "try{require('./postinstall')}catch(e){}"
> @apollo/protobufjs@1.0.4 postinstall /usr/local/lib/node_modules/@vue/cli/node_modules/@apollo/protobufjs
> node scripts/postinstall
> nodemon@1.19.4 postinstall /usr/local/lib/node_modules/@vue/cli/node_modules/nodemon
> node bin/postinstall || exit 0
Love nodemon? You can now support the project via the open collective:
 > https://opencollective.com/nodemon/donate
> ejs@2.7.4 postinstall /usr/local/lib/node_modules/@vue/cli/node_modules/ejs
> node ./postinstall.js
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/@vue/cli/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN @vue/compiler-sfc@3.0.0-rc.5 requires a peer of vue@3.0.0-rc.5 but none is installed. You must install peer dependencies yourself.
+ @vue/cli@4.5.3
added 1303 packages from 697 contributors in 49.852s

Relevant logs and/or screenshots

Running with gitlab-runner 13.3.0-rc1 (669fc507)
  on docker-auto-scale ed2dce3a
Preparing the "docker+machine" executor
Using Docker executor with image node:10.15.3 ...
Pulling docker image node:10.15.3 ...
Using docker image sha256:5a401340b79fc623c9aec2a679f16ceb8a3b8865446691564bb104394fd0ce20 for node:10.15.3 ...
Preparing environment
Running on runner-ed2dce3a-project-11929366-concurrent-0 via runner-ed2dce3a-srm-1597432410-16b3dd6b...
Getting source from Git repository
.
.
.
$ npm install -g @vue/cli@4.5.2
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/joi@15.1.1: joi is leaving the @hapi organization and moving back to 'joi' (https://github.com/sideway/joi/issues/2411)
npm WARN deprecated @hapi/address@2.1.4: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules/@vue/cli/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! Invalid dependency type requested: alias
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-08-14T19_15_34_742Z-debug.log
ERROR: Job failed: exit code 1

Output of checks

This bug happens on GitLab.com

Possible fixes

Has something changed in the gitlab-runner environment that would cause the alias run of /usr/local/bin/vue -> /usr/local/lib/node_modules/@vue/cli/bin/vue.js to fail?

The .gitlab-ci.yml file has not changed. The nodejs environment has not changed and the @vue/cli is the same.

Edited by David Kyle