尝试让Gitlab CI运行NPM和Gulp时出错

时间:2017-05-31 20:02:14

标签: node.js npm gulp gitlab gitlab-ci

NPM安装正确,但随后我在部署时遇到此错误。

npm info ok 
$ gulp
/bin/bash: line 48: gulp: command not found
ERROR: Job failed: exit code 1

我的.gitlab-ci.yml看起来像这样

image: node:latest

cache:
  paths:
  - node_modules/

before_script:
  - npm install

pages:
  stage: deploy
  script:
  - gulp
  artifacts:
    paths:
    - public

我的package.json包含以下内容

"scripts": {
  "install": "gulp",
  "test": "gulp test"
},
"devDependencies": {
  "gulp": "^3.9.1"
}

我知道我的gulpfile.js很好,因为它在本地工作得很好,在npm installgulp上运行我需要的所有东西。真的不确定我做错了什么。

2 个答案:

答案 0 :(得分:6)

通过运行npm install安装软件包本地,它将保存到项目的node_modules文件夹中,并且不会全局或作为别名使用(除非它已在全球安装) )。因此,如果您想使用gulp别名,您应该全局安装它:npm install -g gulp或者您可以使用node_modules命令从本地./node_modules/.bin/gulp文件夹运行gulp。

答案 1 :(得分:1)

在我添加-g标志后,无论如何它对我都不起作用。 为了解决这个问题,我使用了“导出”指令。

before_script:
  - npm install -g grunt grunt-cli
  - export PATH=/usr/local/nodejs/node-v7.10.0-linux-x64/lib/node_modules/grunt-cli/bin:$PATH
...