node.js - GitLab CI/CD shell 执行器 : npm command not found

标签 node.js npm continuous-integration gitlab continuous-deployment

在我的服务器上,我配置了 gitlab runner 来使用 shell 执行器。 which node 命令给出:/home/ubuntu/.nvm/versions/node/v14.11.0/bin/node

因此,我的 gitlab-ci.yml 文件具有以下内容:

stages:
  - prepare
  - check
  - deploy

default:
  before_script:
    - export PATH=$PATH:/home/ubuntu/.nvm/versions/node/v14.11.0/bin

prepare:
  stage: prepare
  only:
    refs:
      - dev
  before_script:
    - export PATH=$PATH:/home/ubuntu/.nvm/versions/node/v14.11.0/bin
  script:
    - npm i --ignore-scripts --include=dev
  cache:
    key: $CI_COMMIT_BRANCH
    paths:
      - node_modules/

prepare 作业抛出 npm: command not found 错误,管道失败。 如何解决这个问题?

最佳答案

您可以在 npm 命令行之前添加到您的脚本:步骤:

- echo "PATH='${PATH}'"

这样,您就可以检查路径是否真的被修改了。

尝试添加引号:

- export PATH="$PATH:/home/ubuntu/.nvm/versions/node/v14.11.0/bin"

关于node.js - GitLab CI/CD shell 执行器 : npm command not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67052338/

相关文章:

javascript - 将total.js重命名为totaljs

node.js - 路径 "/tmp/build_.../client/package.json"没有这样的文件或目录

node.js - 在 Bamboo 上持续集成和部署 Node.js 应用程序

python - 使用 Gitlab 的 CI : QXcbConnection error 在 PyQt5 中自动化单元测试

node.js - node express 如何将 handlebars html 页面渲染到文件

javascript - 验证带有空括号的数学方程

node.js - javascript/socket.io -- Socket.IO 授权与 Twitter 问题

shell - 通过 PM2 将环境变量传递给 NextJS

node.js - 使用 Node 缓存模块不在AWS lambda中缓存数据

android - 与 Travis 一起测试浓缩咖啡