特定的 nodejs 版本,opsworks_ruby,aws,chef 12
Posted
技术标签:
【中文标题】特定的 nodejs 版本,opsworks_ruby,aws,chef 12【英文标题】:specific nodejs version, opsworks_ruby, aws, chef 12 【发布时间】:2018-05-02 23:44:53 【问题描述】:在 AWS opsworks 上运行 chef 12 时,谁能指出我安装特定 nodejs 版本的编写方向?
基础设施:EC2
,t2.micro
,ubuntu 16.04 LTS
自定义食谱:
文件:recipes/default.rb
node.default['packages-cookbook'] = [
'libmysqlclient-dev',
'libmysqlclient20',
'pkg-config',
'libswitch-perl',
'nodejs',
'yarn'
]
文件:Berksfile
source 'https://supermarket.chef.io'
cookbook 'opsworks_ruby', '1.8.0'
cookbook 'packages', '~> 1.0.0'
metadata
文件:metadata.rb
chef_version '>= 12.1' if respond_to?(:chef_version)
depends 'opsworks_ruby', '1.8.0'
depends 'packages', '~> 1.0.0'
AWSCustom json
"ruby-ng":
"ruby_version": "2.4"
,
"nodejs":
"version": "8.9.1"
当构建需要更高版本时,由于安装了 4.2.6
的 nodejs 版本,构建失败。任何建议将不胜感激!
【问题讨论】:
对不起,我忘了加include_recipe: 'nodejs'
你的 nodejs 配方在你的部署配方之前吗?应该是的。
【参考方案1】:
通过 poise-javascript:
javascript_runtime '8.9.1'
或在角色/包装器中:
default['poise-javascript']['options']['version'] = '8.9.1'
默认情况下,它从 NodeJS 项目的静态二进制文件安装,因此它应该支持任何版本。
【讨论】:
以上是关于特定的 nodejs 版本,opsworks_ruby,aws,chef 12的主要内容,如果未能解决你的问题,请参考以下文章