【问题标题】:Berkshelf 'berks install' fails looking for U:Berkshelf 'berks install' 找不到 U:
【发布时间】:2014-07-30 23:39:13
【问题描述】:

我已经下载了厨师开发工具包,并且正在尝试编写厨师食谱。我已经完成了berks init,然后是berks install。无论是否指定任何依赖项,在查找 U: 时都会失败。它在寻找什么,为什么?我确实有一个网络 U:,但现在已经取消映射它以尝试阻止这种情况,但我看不出 berkshelf 无论如何都想看那里的理由。

编辑:可能应该提到我在 Windows 7 机器上。

Resolving cookbook dependencies...
Fetching 'mycookbook' from source at .
Fetching cookbook index from https://supermarket.getchef.com...
C:/opscode/chefdk/embedded/lib/ruby/2.0.0/fileutils.rb:242:in 'mkdir': No such file or directory - U: (Errno::ENOENT)
    from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/fileutils.rb:242:in 'fu_mkdir'
    from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/fileutils.rb:219:in 'block (2 levels) in mkdir_p'
    from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/fileutils.rb:217:in `reverse_each'
    from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/fileutils.rb:217:in `block in mkdir_p'
    from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/fileutils.rb:203:in `each'
    from C:/opscode/chefdk/embedded/lib/ruby/2.0.0/fileutils.rb:203:in `mkdir_p'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/cookbook_store.rb:147:in `initialize_filesystem'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/cookbook_store.rb:46:in `initialize'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/cookbook_store.rb:15:in `new'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/cookbook_store.rb:15:in `instance'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/resolver/graph.rb:6:in `populate_store'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/resolver.rb:73:in `resolve'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/installer.rb:174:in `install_from_universe'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/installer.rb:39:in `run'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/berksfile.rb:371:in `install'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/cli.rb:143:in `install'
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/cli.rb:52:in `dispatch'
    from C:/opscode/chefdk/embedded/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
    from c:/opscode/chefdk/embedded/apps/berkshelf/lib/berkshelf/cli.rb:27:in `execute!'
    from c:/opscode/chefdk/embedded/apps/berkshelf/bin/berks:5:in `<top (required)>'
    from C:/opscode/chefdk/bin/berks:37:in `load'
    from C:/opscode/chefdk/bin/berks:37:in `<main>'`

【问题讨论】:

    标签: chef-infra berkshelf


    【解决方案1】:

    事实证明,我遇到了与Vagrant Berkshelf - Shelf Path? 中所述相同的问题。我不知道,我的 HOMEDRIVE 设置为 U:,因此需要使用 BERKSHELF_PATH 环境变量来覆盖它。将此设置为任何现有文件夹都可以成功完成安装。

    为了完整性:

    set BERKSHELF_PATH=C:\Berks
    

    当然,也可以通过控制面板进行操作,这样它就会持续存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-28
      • 2018-08-17
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      • 2015-07-01
      • 2014-12-08
      • 2021-11-12
      相关资源
      最近更新 更多