nvm_install 和主厨客户优先 运行 的问题
Problema with nvm_install and chef-client first run
我正在使用带有 nvm_install 资源的 nvm chef cookbook 来安装 nodejs 和 npm。
nvm_install 'v4.2.2' do
from_source false
alias_as_default true
action :create
end
安装节点后,我尝试 运行 'npm install' 但出现此错误:
No such file or directory - npm
我试过用 "source" 来加载 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
我的问题是,在使用 chef-client 运行ning.
安装 NVM/NODE 之后,如何 运行 NPM INSTALL
代码:
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
正如在 IRC 上提到的,您需要在 Chef 运行 的每个子 shell 中处理这个问题。更好的解决方案可能是使用 poise-javascript 来管理 Chef.
中的版本
我正在使用带有 nvm_install 资源的 nvm chef cookbook 来安装 nodejs 和 npm。
nvm_install 'v4.2.2' do
from_source false
alias_as_default true
action :create
end
安装节点后,我尝试 运行 'npm install' 但出现此错误:
No such file or directory - npm
我试过用 "source" 来加载 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
我的问题是,在使用 chef-client 运行ning.
安装 NVM/NODE 之后,如何 运行 NPM INSTALL代码:
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
正如在 IRC 上提到的,您需要在 Chef 运行 的每个子 shell 中处理这个问题。更好的解决方案可能是使用 poise-javascript 来管理 Chef.
中的版本