Amazon Beanstalk 将 node 和 npm 安装到非常隐蔽的地方 - 如果 EB 决定使用更新版本的 node,我不确定它们是否会改变,这会导致我的应用程序崩溃。
这些是 node 和 npm 的位置:
/opt/elasticbeanstalk/node-install/node-v0.8.24-linux-x64/bin/node
/opt/elasticbeanstalk/node-install/node-v0.8.24-linux-x64/bin/npm
我担心 0.8.24
部分会发生变化,并且在尝试查找通常只是 /usr/的内容时,我宁愿不使用 grep 查找 cron 或 monit 脚本中的内容bin/XXX
.
如何为这些可执行文件获得一致的文件路径? EB 为什么要这样做?
作为引用,我尝试在 .ebextensions/app.config
中设置 NodeVersion
选项,它对安装位置没有影响。
最佳答案
您可以使用如下命令将最新的 node 和 npm 二进制文件添加到 $PATH:
PATH=$PATH:`ls -td /opt/elasticbeanstalk/node-install/node-* | head -1`/bin
我不知道如何防止 beanstalk 命令再次重置 $PATH。
如果您愿意,您可以使用类似于上述命令的命令创建符号链接(symbolic link),并将其用作 cron 脚本等中的引用点。
同意,很烦人。
关于node.js - Amazon Elastic Beanstalk Node 和 npm 非标准安装位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18214266/