首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从ansible运行npm和节点

从ansible运行npm和节点
EN

Stack Overflow用户
提问于 2016-04-13 09:50:30
回答 2查看 11.2K关注 0票数 1

我有台安装了zsh的机器。我创建了以下脚本来进行一些安装:

安装实现了

代码语言:javascript
运行
复制
# Install NVM
sudo curl https://raw.githubusercontent.com/creationix/nvm/v0.31.0/install.sh | bash
## Reload shell to start using nvm
. ~/.zshrc
. ~/.nvm/nvm.sh
nvm install 0.12

现在,我想连接到实例并运行ansible-playbook,它将启动以下脚本:

sh-script.sh

代码语言:javascript
运行
复制
npm install aws-sdk


node create-queue.js $machine_name
node create-queue.js $machine_name

在运行剧本时,我得到以下错误:第28行: npm:命令未找到--第32行:节点:命令未找到--第33行:节点:命令未找到。

当我对实例执行ssh并运行“节点”或"npm“时,就会得到有效的响应和所需的条件。游戏手册非常简单:

无源

代码语言:javascript
运行
复制
- hosts: tag_Name_TestInstance
  tasks:
    - name: Run Script
      shell: /home/ubuntu/sh-script.sh '{{ machine_name }}'
EN

回答 2

Stack Overflow用户

发布于 2016-04-26 11:24:20

解决这一问题的最佳方法是向ansible env添加一个额外的bin路径。

代码语言:javascript
运行
复制
  - name: Install aws-sdk
    command: /opt/node/bin/npm "something"
    environment:
      PATH: "{{ ansible_env.PATH }}:/opt/node/bin"

或者您也可以使用本机的ansible npm函数。

代码语言:javascript
运行
复制
   description: Install "aws-sdk" node.js package.
  - npm: name=aws-sdk path=/app/location
    environment:
      PATH: "{{ ansible_env.PATH }}:/opt/node/bin"

以及运行节点js脚本的另外两个任务。这样你也可以得到更多关于发生了什么的信息。

祝好运

票数 4
EN

Stack Overflow用户

发布于 2016-04-13 20:20:42

这可能是因为npm和节点尚未添加到您的$PATH中。外壳模块将使用/bin/sh运行命令。

如果要在zsh中运行脚本,请尝试添加带路径的shebang到zsh安装(例如:!#/usr/local/bin/zsh )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36594691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档