Назад | Перейти на главную страницу

Как установить пакеты nodejs и npm с солью на debian

Я изо всех сил пытаюсь установить последнюю версию nodejs и пакеты npm с использованием соли на debian. Вот мое солевое состояние:

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 condition не определяет, что узел установлен (пока он установлен).

Я видел, что есть солевое состояние чтобы установить пакеты npm, но у меня тоже не могло получиться. Думаю, это потому, что я не устанавливаю его из диспетчера пакетов (так как я не могу найти пакеты для node и npm).

Благодаря viq на IRC-канале мне удалось решить эту проблему. Решение состоит в том, чтобы изменить переменную $ 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 на миньоне.