Проблема с nvm_install и шеф-клиентом при первом запуске

Я использую кулинарную книгу nvm chef с ресурсом nvm_install для установки nodejs и npm.

nvm_install 'v4.2.2' do
  from_source false
  alias_as_default true
  action :create
end

После установки узла я попытался запустить «npm install», но у меня была эта ошибка:

Нет такого файла или каталога - npm

Я пытался поставить «источник» для загрузки скрипта nvm.sh, но не работал, когда я запускал шеф-клиент в первый раз.

append_if_no_line "Global .bashrc and source to nvm" do
  path "/etc/bash.bashrc"
  line "[[ -s #{node['nvm']['directory']}/nvm.sh ]] && . #{node['nvm']['directory']}/nvm.sh  # This loads NVM"
end

Мой вопрос: как я могу запустить NPM INSTALL после установки NVM/NODE с запущенным шеф-клиентом.

КОД:

nvm_install 'v4.2.2' do
  from_source false
  alias_as_default true
  action :create
end

append_if_no_line "Global .bashrc and source to nvm" do
  path "/etc/bash.bashrc"
  line "[[ -s #{node['nvm']['directory']}/nvm.sh ]] && . #{node['nvm']['directory']}/nvm.sh  # This loads NVM"
end


execute "npm install" do
  cwd "#{PATH_CODE}"
  command "npm install"
  action :run
end

person Vitor Nascimento    schedule 26.11.2015    source источник
comment
Вы перезагружаете профиль bash, прежде чем пытаться запустить npm?   -  person Mike 'Pomax' Kamermans    schedule 26.11.2015


Ответы (1)


Как упоминалось в IRC, вам нужно обрабатывать это в каждой подоболочке, которую вы запускаете из Chef. Лучшим решением, вероятно, будет использование poise-javascript для управления версиями в Chef.

person coderanger    schedule 26.11.2015
comment
Было бы очень полезно, если бы вы упомянули здесь в своем ответе то, что вы упомянули в IRC ... Я застрял в той же проблеме. Не могли бы вы быть более конкретными? - person scaryguy; 14.03.2016
comment
Как я уже сказал, решение, вероятно, состоит в том, чтобы использовать одну из новых кулинарных книг по управлению временем выполнения javascript. - person coderanger; 14.03.2016