1

シェフ スクリプトを使用して GIT から nodejs プロジェクトをインストールしようとしています。インストールされたプロジェクト ディレクトリ内から NPM INSTALL を実行し、GIT に含まれている "package.json" を利用しようとして頭を悩ませています。

非推奨の 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クックブックを見てきましたが、それにはパッケージを一覧表示する必要があり、package.jsonに従わない必要があります。

これは正しいアプローチではありませんか?私たちは小さなショップであり、package.json を活用でき、複製する必要がないことが理想的です。

4

2 に答える 2

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 リポジトリから nodejs プロジェクトをインストールし (自己署名 ssl を使用)、その後、基になる package.json を利用して NPM INSTALL を呼び出すためのレシピ全体:

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
于 2015-05-15T15:54:12.030 に答える