当前位置: 首页 > 知识库问答 >
问题:

AWS EC2启动配置用户数据-未找到命令

宰父存
2023-03-14

对于AWS EC2(亚马逊Linux)启动配置,我设置了一些用户数据,这些用户数据具有以下命令序列。

#!/bin/bash -exv \n", 
"#Execute Init resource\n", 
"whoami\n", 
"pwd\n", 
"npm -v\n",

实例启动时,用户数据正在执行精细的本地命令,如“whoami”,在cloud-init-output.log给出正确的输出,但它给出了npm命令的错误消息,如“未找到npm命令”。

但是,当我ssh到实例并尝试执行一些npm命令时,它工作得很好。

有人能指导我解决这个问题吗?

谢谢

共有2个答案

商德泽
2023-03-14

@helloV的回答很好。感谢@helloV。尽管如此,我还是试图在实例启动期间找到更多关于根用户路径问题的信息,我发现了nvm。my AMI中NVM(节点版本管理器)包的sh扩展了路径以添加“npm”和“节点”的路径。

这是nvm。sh是从以下位置触发的。bash_剖面图-

有一点很清楚。在实例启动期间执行用户数据脚本之前,未执行根用户的bash_配置文件。所以我找到了。我的用户数据脚本中的bash_配置文件和用户数据脚本中的其他npm命令都工作正常。

在https://github.com/creationix/nvm/issues/381找到nvm.sh细节多亏了本·克雷塞。

希望这有帮助。

韦晟睿
2023-03-14

用户数据以根目录执行。到npm的路径可能不在路径中。指定npm的完整路径,它应该可以工作。

当您使用ssh时,它工作的原因是npm在您的路径中可用。

 类似资料:
  • 我有一个项目无法运行。 我已经两周没碰这个项目了。我昨天做的唯一一件事就是添加一个git存储库,就是这样。 当我试图运行时,我得到了这个错误: 我已经在其他帖子上看到了关于这个错误的解决方案,但是没有一个适合我。我已经删除了目录和文件,然后运行。 然而,我仍然得到相同的错误消息。有人知道怎么了吗? 这是我的包裹。json文件:

  • Spring2.4.5。 正在尝试运行测试示例。 测试的配置取自,而必须取自文件夹。 我尝试了不同的选项<code>SPRING.PROFILES。活动,,在IntelliJ Idea的窗口中具有值,但确实有所帮助。 “我要运行的测试”具有以下注释:

  • 到目前为止,我发现了两种在启动时配置spring boot应用程序的方法,一种使用< code>-D,另一种使用< code> - ,如下所示: 有时,第一个有效,有时第二个有效。正如开发人员所发现的那样,当以下示例中的 方法未给出 参数时,方法不起作用,但 起作用。 而今天,我在命令行配置日志,发现 但 工作。 以上可能有其他原因,可能< code > log back . configurat

  • 问题内容: 我尝试基于使用Hibernate内存数据库配置Spring Data : 但是我一遍又一遍地得到: org.hibernate.cfg.Environment。HHH000206:找不到hibernate.properties 问题是我不想在文件中指定它,就像我以前没有Spring Data一样,我想在配置中设置它,就像我基于的答案一样。我想念什么吗?预先感谢您的帮助。 问题答案: 那

  • 我是新的Python开发和尝试使用pipenv。我运行命令,它成功运行: 然而,当我在一个新的根项目目录中运行命令时,我收到以下消息:。我怀疑我可能需要修改我的. bashrc,但是我不清楚要向文件中添加什么,或者是否需要修改。