как запустить npm из nodeenv (виртуальный env) - PullRequest
0 голосов
/ 14 мая 2019

У меня есть ANSIBLE playbook, который устанавливает nodeenv, а затем пытается запустить команду npm. но команда npm не найдена.

вот код


- name: install nodeenv
  pip:
    name: nodeenv
    umask: "0022"

- name: create venv
  command: nodeenv -v -n 6.14.4 --prebuilt - /opt/app/venv creates="/opt/app/venv"

- name: npm install
  command: npm install chdir="/opt/app/web"
  environment:
    NODE_VIRTUAL_ENV: "/opt/app/venv"
    PATH: "/opt/app/venv/lib/node_modules/.bin:/opt/app/venv/bin:/opt/app/web/node_modules/.bin:{{ ansible_env.PATH }}"
    NODE_PATH: "/opt/app/venv/lib/node_modules"
    NPM_CONFIG_PREFIX: "/opt/app/venv"
    npm_config_prefix: "/opt/app/venv"

Также я хочу знать, как запустить npm, команды внутри nodeenv

1 Ответ

0 голосов
/ 14 мая 2019

Вместо того, чтобы пытаться вручную настроить все переменные среды, может быть проще просто использовать стандартный сценарий activate для активации nodeenv. Для этого потребуется использовать модуль shell вместо модуля command, например:

- name: npm install
  shell: |
    . /opt/app/venv/bin/activate
    npm install
  args:
    chdir: /opt/app/web
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...