【问题标题】:node.js commands on AWS elastic beanstalk ec2 serverAWS 弹性 beanstalk ec2 服务器上的 node.js 命令
【发布时间】:2014-04-11 14:29:06
【问题描述】:

我在 AWS 上创建了一个弹性 beanstalk node.js 应用程序,它为我创建了 EC2 和 RDS 服务器。我正在使用putty 连接到我的Linux EC2 实例,该实例已成功登录。

但是下面的命令不起作用:

node -v
npm install express -g
node

它给了我一个错误:

bash:节点:找不到命令

【问题讨论】:

    标签: linux node.js amazon-web-services amazon-ec2 amazon-elastic-beanstalk


    【解决方案1】:

    假设您使用的是 Amazon Linux 3.4:

    > rpm -Uvh http://download-i2.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    
    > sudo yum install nodejs npm --enablerepo=epel
    

    应该可以的。

    【讨论】:

    【解决方案2】:

    Node 会自动安装在您的实例上,用于弹性 beanstalk。它不在路径中。

    /opt/elasticbeanstalk/node-install/文件夹下寻找节点安装。

    您不应该从命令行安装模块。在弹性 beanstalk 上安装节点模块的首选方法是通过 package.json。依赖模块由 aws 自动安装在实例上。

    【讨论】:

    • 你说你不应该从命令行安装模块。这是记录在某处还是只是一个意见?如果我 npm install --save 他们会被添加到我的包 json 中。
    • 这是部署节点应用程序的标准 - 在开发过程中您应该只需要npm install <module_name>
    • 您不应该自己在 EB 上安装任何东西,因为 EB 的整个想法是,如果您的 CPU(或其他)使用率过高,它会启动新实例。新生成的实例将缺少您自己安装的任何模块。
    【解决方案3】:

    您可以通过运行 ps aux | 找到 node 和 npm 的安装位置。 grep 节点。这将向您显示它正在用完的目录。这就是它们让您能够通过安装多个版本来选择您的节点版本的方式。但正如帕兰尼克所说,除非您正在排除故障,否则无需尝试手动执行此操作。哪个是 AWS 上的 PITA,但这是另一个讨论。

    【讨论】:

      【解决方案4】:

      您应该找出当前正在使用的节点版本。然后你可以在你的 PATH 中使用它并使用 npm/node 二进制文件..

      grep node /var/log/nodejs/nodejs.log
      
      export PATH=$PATH:/opt/elasticbeanstalk/node-install/node-v6.11.5-linux-x64/bin/
      

      【讨论】:

        猜你喜欢
        • 2018-06-18
        • 2017-02-05
        • 2017-01-19
        • 2016-10-07
        • 2018-07-13
        • 2020-03-06
        • 2015-05-01
        • 2021-05-05
        • 2016-01-05
        相关资源
        最近更新 更多