Librarian-puppet、Rbenv、在Gem::Specification.reset期间未解决的规范问题。

3

我正在尝试在项目中设置 Vagrant 过程中使用 librarian-puppet。 当我在临时目录中运行 librarian-puppet init 时,它能够很好地创建 Puppetfile。

但是,当我尝试在项目中运行时,我会遇到以下问题:

WARN: Unresolved specs during Gem::Specification.reset:
      highline (>= 0)
      activemodel (< 4.2, >= 3.0.0)
      activesupport (< 4.2, >= 3.0.0)
      faraday (< 1.0, >= 0.8)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/puppet_forge-1.0.3/lib/puppet_forge.rb:7:in `require': cannot load such file -- puppet_forge/version (LoadError)
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/puppet_forge-1.0.3/lib/puppet_forge.rb:7:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/source/forge/repo_v3.rb:2:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/source/forge.rb:4:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/source.rb:4:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/dsl.rb:3:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/environment.rb:2:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/extension.rb:1:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet.rb:4:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/lib/librarian/puppet/cli.rb:4:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:73:in `require'
        from /home/sean/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/librarian-puppet-1.1.3/bin/librarian-puppet:6:in `<top (required)>'
        from /home/sean/.rbenv/versions/2.1.2/bin/librarian-puppet:23:in `load'
        from /home/sean/.rbenv/versions/2.1.2/bin/librarian-puppet:23:in `<main>'
        from /home/sean/.rbenv/versions/2.1.2/bin/ruby_executable_hooks:15:in `eval'
        from /home/sean/.rbenv/versions/2.1.2/bin/ruby_executable_hooks:15:in `<main>'

我已经尝试过这个问题中的解决方案,以及其他一些方法(重新安装ruby版本和gem,删除Guardfile,rbenv rehash,运行'gem cleanup')。
目前,rbenv似乎正在尝试使用项目的gemset而不是全局安装的。有没有办法让rbenv忽略项目gems并运行命令?
版本:
- rbenv 0.4.0-98-g13a474c - Ruby 2.1.2(通过ruby-build在rbenv中安装) - librarian-puppet 1.1.3 - puppet 3.6.2
3个回答

1

1

我在使用 librarian-puppet update 更新现有仓库时遇到了类似的问题。我猜测我们的 $LOAD_PATH 出了问题,因为我可以在本地更新 forge-ruby gem 并包含具有 require_relative 的文件。我不得不删除整个 ruby 安装 (rbenv uninstall <version>),然后重新安装它、bundler 和所需的 gems。

我正在使用:

  • 带有 rbenv 0.4 的 repo
  • ruby 1.0.3
  • librarian-puppet 1.3.2
  • puppet 3.2.4

0

通过不再使用librarian-puppet来解决了这个问题。同时,将所有的Puppet相关内容拆分到自己的仓库中,因为我们已经转向了Puppet主节点设置,而不是独立的Puppet。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接