Node.js Gitlab CI-npm';未被识别为内部或外部命令、可操作程序或批处理文件

Node.js Gitlab CI-npm';未被识别为内部或外部命令、可操作程序或批处理文件,node.js,docker,continuous-integration,gitlab,Node.js,Docker,Continuous Integration,Gitlab,我正在尝试在gitlab中运行CI image: node:latest stages: - deploy production: stage: deploy before_script: - npm config set prefix /usr/local - npm install -g serverless script: - serverless deploy 我正在使用docker图像,就像他们建议的那样,但它找不到npm(或节点) 我怎

我正在尝试在gitlab中运行CI

image: node:latest

stages:
  - deploy

production:
  stage: deploy
  before_script:
    - npm config set prefix /usr/local
    - npm install -g serverless
  script:
    - serverless deploy 
我正在使用docker图像,就像他们建议的那样,但它找不到npm(或节点)


我怎样才能让它工作呢?

嗯,这有点奇怪,因为你的ci是正确的

如果您只是在使用gitlab.com及其共享的运行程序,那么这个.gitlab-ci.yml就可以了

一个可能的原因可能是您在项目repo中添加了作为ssh/shell执行者的运行程序。如果是这样,那么您指定的图像标记将被忽略

因此,由于您添加运行程序的服务器未安装nodejs,可能会出现类似于未找到
命令的错误,并且此错误将出现在before脚本中的
npm config…
命令中,退出代码为127,管道将在此失败并停止

如果您有多个跑步者,请标记他们,并在ci.yml中标记您的作业。 如果您试图在自己的服务器上运行作业,那么您必须首先安装docker

顺便说一句,docker image node:latest您不需要
npm配置设置前缀/usr/local
,因为它已经是
/usr/local