【问题标题】:How do I install the knife-ec2 plugin?如何安装knife-ec2 插件?
【发布时间】:2014-03-24 21:15:30
【问题描述】:

OSX,10.9.2:

$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
$ knife -v
Chef: 11.10.4

当我跑步时:

$ knife ec2 server list

我明白了:

FATAL: Cannot find sub command for: 'ec2 server list'
The ec2 commands were moved to plugins in Chef 0.10
You can install the plugin with `(sudo) gem install knife-ec2

我已经安装了 gem:

sudo gem install knife-ec2

运行没有错误。并且 gem list 显示它已安装:

$ sudo gem list|grep knife-ec2 
knife-ec2 (0.8.0)

gem 似乎已正确安装在此处:

ls /Library/Ruby/Gems/2.0.0/gems/knife-ec2-0.8.0/
...

/usr/bin/knife 本身运行良好。它很可能与刀在哪里寻找插件有关,但如何处理尚不清楚。

【问题讨论】:

    标签: chef-infra knife


    【解决方案1】:

    在我已经通过 gems 安装了 chef/knife/knife-ec2 之后,我在安装 chefdk 时遇到了这个或类似的问题(如果你想知道的话,试图让 vagrant-berkshelf 工作)。

    我发现在安装 chefdk 时,嵌入的 chef ruby​​ 被路径中的刀二进制文件使用,而不是系统 ruby​​,所以你必须将 gem 安装到 chef 嵌入的 ruby​​。

    在 OSX 上我是这样做的:

    /opt/chefdk/embedded/bin/gem install knife-ec2
    

    编辑:看起来已经有厨师命令可以做到这一点:

    chef gem install knife-ec2
    

    【讨论】:

    • 酷,我在以下路径中找到了 gem,/opt/chef/embedded/bin/gem install knife-ec2
    • 我必须 $ sudo /opt/chef/embedded/bin/gem install knife-ec2 才能安装它
    【解决方案2】:

    当您尝试运行gem install knife 时,输出是什么? gem 使用 sudo 运行时使用不同的路径

    您可以使用 sudo 运行刀:

    sudo knife ec2 server list
    

    或以当前用户身份安装 gem:

    gem install knife-ec2
    

    如果后者不起作用,请使用 RVM:

    \curl -sSL https://get.rvm.io | bash
    rvm install 2.0.0p247
    gem install knife-ec2
    

    【讨论】:

    • 我有同样的问题,并尝试了 sudo 和没有 sudo 的 gem 和刀,但仍然得到同样的错误。没有 sudo 的 gem 不会安装插件:~/workspace/chef-repo/bin: (master)$ gem install knife-ec2 获取:knife-ec2-0.8.0.gem (100%) 错误:执行 gem .. . (Gem::FilePermissionError) 你没有/Library/Ruby/Gems/2.0.0 目录的写权限。
    【解决方案3】:

    您正在将东西安装到系统 ruby​​ 中(这是不明智的)。在这种情况下,您需要在 knife 命令之前使用 sudo

    【讨论】:

      【解决方案4】:

      是的,这很棘手...... 原因: 您的系统中有 2 个 GEM 二进制文件。一个来自“/bin/gem 中的 ruby​​gems”,另一个来自“/opt/chef/embedded/bin/gem”中的厨师

      Knife 在 chef 安装中使用 gem 二进制文件。

      解决方案: 所以你应该将插件安装为 /opt/chef/embedded/bin/gem 安装刀-ec2 /opt/chef/embedded/bin/gem 安装

      享受:)...

      【讨论】:

        猜你喜欢
        • 2023-04-06
        • 2015-04-22
        • 1970-01-01
        • 2014-03-09
        • 2013-05-03
        • 1970-01-01
        • 2021-05-17
        • 2014-03-16
        • 2014-06-04
        相关资源
        最近更新 更多