首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >厨师+ rbenv:"rbenv:没有这样的命令‘安装’,尽管已经安装了ruby-build

厨师+ rbenv:"rbenv:没有这样的命令‘安装’,尽管已经安装了ruby-build
EN

Stack Overflow用户
提问于 2016-06-10 14:25:19
回答 1查看 700关注 0票数 3

我正在学习厨师,并制作一本包含安装rbenvruby-build的食谱的食谱。ruby-build配方安装程序,然后尝试用rbenv安装Ruby2.3.1。然而,每次我运行chef-client来收敛时,即使rbenv: no such command 'install'的安装成功完成,最后一步仍然会失败。

代码语言:javascript
复制
bash "initialize rbenv and install ruby 2.3.1" do
  user "david"
  cwd  node["user"]["home"]
  environment({
    "PATH" => "#{node['rbenv']['bin']}:#{node['rbenv']['root']}/shims:#{ENV['PATH']}"
  })

  # code "eval \"$(rbenv init -)\" && rbenv install 2.3.1"
  code <<-EOF
  eval "$(rbenv init -)"
  rbenv install 2.3.1
  EOF
end

我已经评论了我也尝试过的单行方式。在这两种情况下,它说,install是失踪的,尽管程序在那里。

实际上,我可以手动进入机器并运行以下命令:

代码语言:javascript
复制
[root@myserver ~]# su david
[david@myserver root]$ cd
[david@myserver ~]$ eval "$(.rbenv/bin/rbenv init -)"
[david@myserver ~]$ .rbenv/bin/rbenv install 2.3.1
Downloading ruby-2.3.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2

有什么想法吗?为什么在收敛过程中会失败,而不是在命令行??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-10 19:25:27

尝试在shell环境中设置$HOME

代码语言:javascript
复制
environment({
    "PATH" => "#{node['rbenv']['bin']}:#{node['rbenv']['root']}/shims:#{ENV['PATH']}",
    "HOME" => node["user"]["home"],
  })
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37750715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档