Como instalar pacotes nodejs e npm com sal no debian

2

Estou com dificuldades para instalar uma versão recente do nodejs e pacotes npm usando o sal no debian. Aqui está meu estado de sal:

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

Com isso, o nó é instalado, mas eu recebo esse erro /bin/sh: 1: npm: not found para o comando: npm install -g less . Além disso, se eu iniciar esse estado outra vez, a condição onlyif não detectará que o nó está instalado (enquanto estiver).

Eu vi que há um estado de sal para instalar pacotes npm, mas também não consegui fazê-lo funcionar. Eu acho que é porque eu não estou instalando a partir do gerenciador de pacotes (já que não consigo encontrar pacotes para o nó e npm).

    
por Nicolas BADIA 06.10.2014 / 14:20

1 resposta

1

Graças ao viq no canal do IRC, consegui resolver este problema. A solução é alterar a variável $ PATH do minion /etc/init.d/salt-minion :

Altere isto:

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

por

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

Você pode ter que chamar service salt-minion restart no servo.

    
por 06.10.2014 / 15:38