我正在尝试通过主厨脚本从GIT安装nodejs项目。我正在试图让NPM INSTALL从已安装的项目目录中运行并利用包含的" package.json"这是来自GIT。
我还尝试了不推荐使用的NPM食谱:
18>> npm_package do
19: path node[:deploy_nodejs_from_git][:destination]
20: action :install_from_json
21: end
但这不起作用 - 而且我不知道是否值得努力使其成功,因为它已被弃用:
[2015-05-15T08:50:25-04:00] ERROR: You must supply a name when declaring a npm_package resource
我查看了nodejs cookbook - 但这需要您列出软件包而不是顺从package.json。
这不是正确的做法吗?我们是一家小商店,能够利用package.json而不必复制似乎是理想的。
答案 0 :(得分:1)
这是我正在使用的,等待确定更好的替代方案:
if node[:deploy_nodejs_from_git][:destination]
path = node[:deploy_nodejs_from_git][:destination]
cmd = "npm install"
execute "npm install at #{path}" do
cwd path
command cmd
end
end
从git repo(带有自签名ssl)安装nodejs项目的整个配方,随后调用NPM INSTALL利用底层package.json:
ENV['GIT_SSL_NO_VERIFY']="true"
directory node[:deploy_nodejs_from_git][:destination] do
owner 'root'
group 'root'
mode '0755'
action :create
end
git node[:deploy_nodejs_from_git][:destination] do
repository node[:deploy_nodejs_from_git][:git_repo]
action :sync
revision node[:deploy_nodejs_from_git][:branch]
end
if node[:deploy_nodejs_from_git][:destination]
path = node[:deploy_nodejs_from_git][:destination]
cmd = "npm install"
execute "npm install at #{path}" do
cwd path
command cmd
end
end
答案 1 :(得分:1)
使用nodejs cookbook,我使用以下内容:
nodejs_npm 'package.json' do
path node['myappplication']['home']
json true
end
很好的部分:它使用package.json并安装NPM。 不好的部分:它永远不会结束,我的厨师 - 客户端会挂起,但我不知道这与菜谱本身有关。