web-dev-qa-db-ja.com

Debianにsaltを使用してnodejsおよびnpmパッケージをインストールする方法

私はdebianでsaltを使用して最近のnodejsバージョンと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。また、この状態をもう一度起動すると、onlyif条件は、ノードがインストールされていることを検出しません(インストールされている間)。

Npmパッケージをインストールするための salt state があることを確認しましたが、それも機能させることができませんでした。パッケージマネージャーからインストールしていないためだと思います(nodeとnpmのパッケージが見つからないため)。

2
Nicolas BADIA

IRCチャネルのviqのおかげで、この問題を解決することができました。解決策は、ミニオン/etc/init.d/salt-minionの$ PATH変数を変更することです。

これを変える:

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

沿って

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

ミニオンでservice salt-minion restartを呼び出さなければならない場合があります。

1
Nicolas BADIA