运行安装脚本时NPM不可用

时间:2018-07-11 08:35:50

标签: npm

我有一个有趣的问题,我有一个setup或rails项目,当以专门用于设置一切的用户(部署)身份运行时,部署/升级工作得非常好。

我正在使用codeDeploy管理部署,它使用root用户在AWS上进行部署,但是在部署过程中,由于无法找到npm命令,它无法运行相同的脚本

cd client && npm run build:client
sh: 1: npm: not found
rake aborted!
Command failed with status (127): [cd client && npm run build:client...]

如果我手动运行它以检查我也没得到任何东西

root@ip-172-31-4-141:/home/ubuntu# su deploy -c "which npm"
root@ip-172-31-4-141:/home/ubuntu#

NPM可通过部署用户使用,但我很难理解为什么root用户无法使用它

deploy@ip-172-31-4-141:/home/ubuntu$ which npm
/home/deploy/.nvm/versions/node/v7.8.0/bin/npm

任何帮助解决此问题的方法都将非常有用。

谢谢

1 个答案:

答案 0 :(得分:0)

这里的问题是,AWS CodeDeploy在开始部署时仅加载最小环境。加载我已导出环境的所有环境变量,然后在部署阶段以该文件为源,从而解决了我的问题