未找到AWS CodeDeploy命令

时间:2017-09-05 06:38:42

标签: bash amazon-web-services aws-code-deploy

尝试部署Node.js应用程序时,我的npm: command not found AfterInstall脚本中出现错误post_install.sh。我运行npm install -g pm2的BeforeInstall脚本中有什么超级奇怪的,它运行正常,没有任何错误。

两者都以ubuntu用户身份运行。为什么这个命令在一个CodeDeploy脚本中工作而在另一个脚本中失败?

2 个答案:

答案 0 :(得分:5)

看起来我可以通过在脚本文件中添加以下内容来解决这个问题。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

希望这可以帮助别人。

答案 1 :(得分:0)

在具有ubuntu用户的ubuntu服务器中,在AfterInstall钩子期间尝试在shell脚本中调用aws cli时遇到了同样的问题。

这是我手动执行脚本sh ecr-login.sh时发生的事情:

# Works
$(aws ecr get-login --no-include-email --region sa-east-1)

# Works
$(/home/ubuntu/.local/bin/aws ecr get-login --no-include-email --region sa-east-1)

CodeDeploy执行时:

# Not Work
$(aws ecr get-login --no-include-email --region sa-east-1)

# Works
$(/home/ubuntu/.local/bin/aws ecr get-login --no-include-email --region sa-east-1)