【发布时间】:2021-09-04 16:20:12
【问题描述】:
我是在 aws 中创建管道的新手。我想为我的 nuxt 项目创建一个 ci-cd 管道。 我创建了一个 yml 文件,我想在其中安装 nvm,然后安装节点版本 12.18.3
问题是我收到了 nvm not found 错误。
如果我的 yml 文件有任何错误,请检查并告诉我:
version: 0.2
phases:
install:
commands:
- echo Installing nvm...
- curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
- export NVM_DIR="$HOME/.nvm"
- '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"'
- '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"'
pre_build:
commands:
#install dependencies
- echo Installing node...
- nvm install 12.18.3
- echo Installing npm...
- npm install
build:
commands:
#build
- echo building...
- npm run generate
artifacts:
files:
- '**/*'
base-directory: dist
cache:
paths:
- node_modules/**/*
谢谢。
【问题讨论】:
-
您确定设置了 $HOME 变量吗?您可以尝试回显它并查看它是否设置为正确的值
-
@ArunK 嗨,$HOME 返回“/root”。这是正确的吗?
-
是的,因为 docker 以 root 身份运行。我没有机会尝试这个。你能帮我试试这两个想法吗? 1. 更改该行以包含一个 echo
'[ -s "$NVM_DIR/nvm.sh" ] && echo "nvm folder exists" && \. "$NVM_DIR/nvm.sh"'。查看它是否在日志中打印“nvm 文件夹存在”。 2. 我要你先试试第一个。那么您可以将行更改为'[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"'。看看能不能解决问题 -
我应用了第一个想法,它返回“nvm 文件夹存在”,然后我更改了行,现在我的行如下所示:` - echo $HOME \n - export NVM_DIR="$HOME/. nvm" \n - '[ -s "$NVM_DIR/nvm.sh" ] && 。 "$NVM_DIR/nvm.sh"' \n - '[ -s "$NVM_DIR/nvm.sh" ] && 。 "$NVM_DIR/nvm.sh"' \n - '[ -s "$NVM_DIR/bash_completion" ] && 。 "$NVM_DIR/bash_completion"'` 我把源改成了'。'因为它给出了找不到错误源。它进入预构建阶段,但未找到相同的 nvm 错误:
/codebuild/output/tmp/script.sh: 4: /codebuild/output/tmp/script.sh: nvm: not found -
你用于代码构建的图像是什么
标签: amazon-web-services aws-codepipeline