node.js - Amazon Elastic Beanstalk Node 和 npm 非标准安装位置

标签 node.js amazon-web-services npm amazon-elastic-beanstalk

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 选项,它对安装位置没有影响。

最佳答案

您可以使用如下命令将最新的 nodenpm 二进制文件添加到 $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/

相关文章:

amazon-web-services - AWS Data Pipeline 与 Step Functions

javascript - 渲染模板时插入额外字符

javascript - 从对象创建异步 waterfall

javascript - 如何通过Sequelize连接多个数据库?

用于 node.js 的 MySQL 驱动程序与 Sphinx 一起使用

npm - npm 模块名称的命名约定

javascript - npm 列表永远不会为空

javascript - 执行查询时返回 undefined object

amazon-web-services - 如何自动启动、执行和停止EC2?

amazon-web-services - AWS 云形成 : Reference to subnet causing error