gitlab ci 为 angular 项目抛出错误
gitlab ci throwing error for angular project
我的 angular 项目 angular 的 gitlab-ci 中的 CI 最近开始出现错误
错误如下
$ npm install --unsafe-perm -g --save-dev @angular/cli@1.3.2
/usr/local/bin/ng -> /usr/local/lib/node_modules/@angular/cli/bin/ng
> node-sass@4.5.3 install /usr/local/lib/node_modules/@angular/cli/node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.3/linux_musl-x64-59_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.3/linux_musl-x64-59_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
我知道文件 https://github.com/sass/node-sass/releases/download/v4.5.3/linux_musl-x64-59_binding.node
不存在,但我不确定为什么 node-sass
试图安装该文件的那个版本?
首先清除 npm 缓存:
npm cache clean
然后全局安装node-sass :
npm install -g node-sass@4.5.3
然后运行你的命令:
npm install --unsafe-perm -g --save-dev @angular/cli@1.3.2
如果还是不行,尝试用yarn安装:
yarn add node-sass
然后运行你的命令
问题出在节点版本控制上。在我的 gitlab-ci 中,我使用的是最新的节点 docker 图像 (node:alpine
) 并且 node:alpine
标签已从 10 月 31 日移至节点版本 9.x.x
2017. 因此,从版本 4.5.3
开始,这破坏了 node-sass 作为 node-sass only supports upto 8.X.X
我将节点 docker 图像切换为支持节点 8.X.X
的 node:carbon-alpine
,这解决了问题。
我的 angular 项目 angular 的 gitlab-ci 中的 CI 最近开始出现错误
错误如下
$ npm install --unsafe-perm -g --save-dev @angular/cli@1.3.2
/usr/local/bin/ng -> /usr/local/lib/node_modules/@angular/cli/bin/ng
> node-sass@4.5.3 install /usr/local/lib/node_modules/@angular/cli/node_modules/node-sass
> node scripts/install.js
Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.3/linux_musl-x64-59_binding.node
Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.3/linux_musl-x64-59_binding.node":
HTTP error 404 Not Found
Hint: If github.com is not accessible in your location
try setting a proxy via HTTP_PROXY, e.g.
export HTTP_PROXY=http://example.com:1234
or configure npm proxy via
npm config set proxy http://example.com:8080
我知道文件 https://github.com/sass/node-sass/releases/download/v4.5.3/linux_musl-x64-59_binding.node
不存在,但我不确定为什么 node-sass
试图安装该文件的那个版本?
首先清除 npm 缓存:
npm cache clean
然后全局安装node-sass :
npm install -g node-sass@4.5.3
然后运行你的命令:
npm install --unsafe-perm -g --save-dev @angular/cli@1.3.2
如果还是不行,尝试用yarn安装:
yarn add node-sass
然后运行你的命令
问题出在节点版本控制上。在我的 gitlab-ci 中,我使用的是最新的节点 docker 图像 (node:alpine
) 并且 node:alpine
标签已从 10 月 31 日移至节点版本 9.x.x
2017. 因此,从版本 4.5.3
我将节点 docker 图像切换为支持节点 8.X.X
的 node:carbon-alpine
,这解决了问题。