我正在努力安装一个最近的nodejs版本和在debian上使用salt的npm包。 这是我的盐状态:
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 。 另外,如果我再次启动这个状态,唯一的条件是不检测节点是否被安装(当它是)。
我看到有一个盐状态来安装npm包,但我不能让它工作。 我想这是因为我没有从包pipe理器中安装它(因为我找不到节点和npm的软件包)。
感谢IRC频道上的viq,我能解决这个问题。 解决的方法是改变minion /etc/init.d/salt-minion的$ PATHvariables:
改变这个:
PATH=/sbin:/usr/sbin:/bin:/usr/bin
通过
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
你可能不得不在service salt-minion restart呼叫service salt-minion restart 。