如何在 Debian 上使用 Salt 安装 Node.js 和 npm 包

如何在 Debian 上使用 Salt 安装 Node.js 和 npm 包

我正在努力使用 debian 上的 salt 安装最新的 nodejs 版本和 npm 包。这是我的 salt 状态:

nodejs-deps:
  pkg.installed:
    - names:
      - g++
      - curl
      - libssl-dev
      - apache2-utils
  require:
    - pkg: git

nodejs-source:
  git.latest:
    - target: /usr/src/nodejs
    - name: git://github.com/joyent/node.git
    - rev: v0.10.32-release

nodejs-install:
  cmd.run:
    - cwd: /usr/src/nodejs
    - name: ./configure && make && make install  
    - onlyif: if [ -z $(node --version) ] || [ $(node --version) != "v0.10.32" ]; then echo "should update"; else exit 1; fi;
    - require: 
      - git: nodejs-source
      - pkg: nodejs-deps


less:
  cmd.run:
    - name: npm install -g less

这样,节点就安装好了,但是我/bin/sh: 1: npm: not found在执行命令时收到此错误:npm install -g less。此外,如果我再次启动此状态,则onlyif条件不会检测到节点已安装(尽管它已安装)。

我看到有一个盐州安装 npm 包,但我也无法让它工作。我猜是因为我没有从包管理器安装它(因为我找不到 node 和 npm 的包)。

答案1

感谢 IRC 频道上的 viq,我得以解决这个问题。解决方案是更改 minion 的 $PATH 变量/etc/init.d/salt-minion

改变这个:

PATH=/sbin:/usr/sbin:/bin:/usr/bin

经过

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin

你可能得呼唤service salt-minion restart手下。

相关内容