gpt4 book ai didi

linux - EC2 - 未找到 Codedeploy NPM 错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:16:21 26 4
gpt4 key购买 nike

我正在尝试在我的 Codedeploy 部署中运行一个 AfterInstall Hook ,该 Hook 运行一个 shell 脚本以 cd 进入我的应用程序目录,为用户提供写入权限,然后运行 ​​npm install 来安装应用程序依赖项,但我在部署过程中收到以下错误

Error CodeScriptFailed
Script Namescripts/npm-start.sh
MessageScript at specified location: scripts/npm-start.sh run as user root failed with exit code 127
Log TailLifecycleEvent - ApplicationStart
Script - scripts/npm-start.sh
[stderr]/opt/codedeploy-agent/deployment-root/dfdfdfd-c90-9f39-4ab9-bd51-e3f737003a72/d-ZID6SUV6U/deployment-archive/scripts/npm-start.sh: line 3: npm: command not found

现在我在过去遇到过以 sudo 或 root 使用 npm 运行会导致问题,因为它是用我的 ubuntu 用户安装的,但即使我在我的 appspec.yml 中使用 runas: ubuntu 它以 root 用户身份运行。

有人知道问题出在哪里吗?

appspec.yml:

version: 0.0
os: linux
files:
- source: /
destination: /var/www/app/
hooks:
AfterInstall:
- location: scripts/npm-install.sh
runas: root
timeout: 300
ApplicationStart:
- location: scripts/npm-start.sh
runas: root
timeout: 60

npm-install.sh:

#!/bin/bash
cd /var/www/app
sudo chmod g+s /var/www/app
sudo chmod o-rwx /var/www/app
npm install

npm-start.sh:

#!/bin/bash
cd /var/www/app
npm start

最佳答案

您如何知道 npm 已正确安装并设置在您的机器上?在这个questionthis question ,您可以看到有类似问题的用户。听起来您需要重新安装 NodeJS 才能让 NPM 再次开心。

您应该登录到您的盒子,并尝试自己运行 sudo npm install。如果它在那种情况下有效,您应该检查您的 .bash* 文件,看看您是否做了任何将 npm 放入您的路径或可能影响其运行方式的事情。如果您可以确认您的设置在非 CodeDeploy 场景中没有问题,您可以专门调试 CodeDeploy 场景,但我猜这是您的设置。

关于linux - EC2 - 未找到 Codedeploy NPM 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51264870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com