我想让GitLab运行程序在笔记本电脑(Windows 10)上工作,但是由于gulp
,它不执行"gulp" is not recognized as a script
命令。
这是我的.gitlab-ci.yaml
before_script:
- npm install -g gulp-cli
- npm install
cache:
paths:
- node_modules/
stages:
- build
building:
stage: build
tags:
- onpremise
script:
- gulp build
我的config.toml
executor = "shell"
shell = "powershell"
(如果我将shell设置为"cmd"
,则根本不会调用gulp build
。)
以及我在GitLab中构建作业的输出
$ npm install -g gulp-cli
C:\USERS\_SYSTEM\AppData\Roaming\npm\gulp ->
C:\USERS\_SYSTEM\AppData\Roaming\npm\node_modules\gulp-cli\bin\gulp.js
+ gulp-cli@2.0.1
updated 1 package in 7.67s
$ npm install
up to date in 11.609s
$ gulp build
gulp : The term "gulp" is not recognized as cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
答案 0 :(得分:1)
我没有足够的意见要发表,所以请原谅。我怀疑您的工作Powershell会话的$ env:path与gitlab运行程序获得的$ env:path不同。
您可以通过在构建脚本中添加$env:path.split(";")
并将输出与您正在运行的powershell会话进行比较来比较两者,从而确认这一点。
您还可以在有效的会话中运行get-command gulp | select source
,以找到gulp文件(在我的服务器上,这是个人文件夹中的.cmd文件)。然后,您应该能够在构建脚本的顶部附近添加$env:path = $env:path + ";C:\path\to\that\folder"
,以解决我怀疑存在的路径问题。
此外,如果尚未安装gulp,则可能需要全局安装。参见https://stackoverflow.com/a/37287770/7674011
答案 1 :(得分:0)
尝试在- npm install --save-dev gulp
之后添加- npm install -g gulp-cli
。