我正在使用打包程序,这是在我安置者(或至少是相关部分)之后立即安装ruby的配置程序。
{ "type": "shell",
"inline_shebang": "/bin/bash",
"inline": [
"source ~/.bash_profile",
"rbenv versions",
"ruby -v",
"ls /home/ubuntu/.rbenv/versions/",
"ls /home/ubuntu/.rbenv/",
"sudo apt-get update",
"sudo apt-get -y install unzip",
"sudo apt-get -y install libqt4-dev libsndfile1-dev",
"wget http://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip",
"sudo mkdir -p /usr/local/ec2",
"sudo unzip ec2-ami-tools.zip -d /usr/local/ec2"
}
rbenv版本见2.1.6
ruby -v说它是2.1.6
所以确实安装了红宝石......
但是我在打包器包的末尾出现了这个错误
==> amazon-instance: Bundling the volume...
amazon-instance: /usr/local/ec2/ec2-ami-tools-1.5.7/bin/ec2-bundle-vol: line 6: ruby: command not found
我用于捆绑卷的命令是
sudo -n env EC2_AMITOOL_HOME=/usr/local/ec2/ec2-ami-tools-1.5.7 /usr/local/ec2/ec2-ami-tools-1.5.7/bin/ec2-bundle-vol -k {{.KeyPath}} -u {{.AccountId}} -c {{.CertPath}} - r {{.Architecture}} -e {{.PrivatePath}}/* -d {{.Destination}} -p {{.Prefix}} --batch --no-filter"
我试图找到任何与ec2-ami-tools获得此错误的其他人的参考,但没有成功。关于我应该查找信息的任何指示(已经检查过ec2-ami-tools文档,参考ec2-bundle-vol的打包文档,其他Packer配置等等但可能遗漏了某些内容)将不胜感激。
答案 0 :(得分:0)
我的猜测是因为你正在与sudo
捆绑在一起。我实际上不知道rbenv
是什么,但我怀疑只有ubuntu
用户知道在哪里找ruby
。
那么看看sudo ruby -v
是否为您提供了正确的输出。如果没有,那就是你的问题。