利用nvm来安装Chef操作node.js

下面只是使用助动词连接的一个标题,但正如你猜到的那样,我想要写一篇关于如何使用nvm来管理node.js版本的食谱。昨天我写了一个关于rbenv的食谱,所以这是一个延续。我希望能在同样的结构下整理好它们。
食谱已经在Github上发布了。

参考文献

    使用Vagrant和Chef Solo创建Node.js的开发环境。

虽然我尝试了搜索,但几乎找不到相关信息,或许这种架构并不被需要吧。考虑到要反复构建和破坏Chef服务器,似乎确实不太需要版本管理的必要性…我对现场情况很感兴趣(虽然我是个外行人…)。

菜谱

这次做得很顺利。和rbenv一样,我也在整个系统上安装了nvm,并且将配置与rbenv相匹配。

git "/usr/local/nvm" do
  repository "git://github.com/creationix/nvm.git"
  reference "master"
  action :sync
end

template "/etc/profile.d/nvm.sh" do
  source "nvm.sh.erb"
  mode 00644
end

# nvm listしたときにalias/ディレクトリがないとおこられるので、、
directory '/usr/local/nvm/alias' do
  action :create
end

bash "install nodejs" do
  code <<-EOC
    source /usr/local/nvm/nvm.sh
    nvm install #{node['nodejs']['version']}
  EOC
  # ここにnodeの本体がいる
  creates "/usr/local/nvm/#{node['nodejs']['version']}"
end

模板

我已经调整为使用在节点中定义的版本。
另外,由于会收到各种消息,所以我将它们都丢进了垃圾箱并作了屏蔽处理w

source /usr/local/nvm/nvm.sh
nvm use <%= node['nodejs']['version'] %> >/dev/null 2>&1

我之前一直用Shell来建立服务器,但现在转用Chef,还有很多工作要做啊、、、那该怎么处理白菜呢??

广告
将在 10 秒后关闭
bannerAds