RHEL6にpuppetをインストールすると、次のエラーが発生します。 Ruby gemをインストールしましたが、Ruby gemの依存関係に問題があります。この問題をどのように解決できますか?
[root@INFINI-ONE ~]# yum install puppet
Loaded plugins: product-id, subscription-manager
Updating Red Hat repositories.
core-0 | 1.8 kB 00:00
core-1 | 1.8 kB 00:00
core-2 | 1.8 kB 00:00
core-3 | 1.8 kB 00:00
core-4 | 1.8 kB 00:00
core-5 | 1.8 kB 00:00
puppetlabs-deps | 1.9 kB 00:00
puppetlabs-products | 1.9 kB 00:00
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package puppet.noarch 0:3.2.1-1.el6 will be installed
--> Processing Dependency: facter >= 1.6.11 for package: puppet-3.2.1-1.el6.noarch
--> Processing Dependency: hiera >= 1.0.0 for package: puppet-3.2.1-1.el6.noarch
--> Processing Dependency: ruby(selinux) for package: puppet-3.2.1-1.el6.noarch
--> Processing Dependency: ruby-augeas for package: puppet-3.2.1-1.el6.noarch
--> Processing Dependency: ruby-rgen for package: puppet-3.2.1-1.el6.noarch
--> Processing Dependency: ruby-shadow for package: puppet-3.2.1-1.el6.noarch
--> Running transaction check
---> Package facter.x86_64 1:1.7.1-1.el6 will be installed
---> Package hiera.noarch 0:1.2.1-1.el6 will be installed
--> Processing Dependency: rubygem-json for package: hiera-1.2.1-1.el6.noarch
---> Package puppet.noarch 0:3.2.1-1.el6 will be installed
--> Processing Dependency: ruby(selinux) for package: puppet-3.2.1-1.el6.noarch
---> Package ruby-augeas.x86_64 0:0.4.1-1.el6 will be installed
---> Package ruby-rgen.noarch 0:0.6.2-1.el6 will be installed
---> Package ruby-shadow.x86_64 0:1.4.1-13.el6 will be installed
--> Running transaction check
---> Package puppet.noarch 0:3.2.1-1.el6 will be installed
--> Processing Dependency: ruby(selinux) for package: puppet-3.2.1-1.el6.noarch
---> Package rubygem-json.x86_64 0:1.5.5-1.el6 will be installed
--> Processing Dependency: rubygems for package: rubygem-json-1.5.5-1.el6.x86_64
--> Finished Dependency Resolution
Error: Package: rubygem-json-1.5.5-1.el6.x86_64 (puppetlabs-deps)
Requires: rubygems
Error: Package: puppet-3.2.1-1.el6.noarch (puppetlabs-products)
Requires: ruby(selinux)
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
[root@INFINI-ONE ~]# gem -v
2.0.3
答え1
あなたが言及したRuby gemはgemパッケージマネージャを使ってインストールされていますか、それともこれらのgemの実際のRPMを使ってインストールされましたか?
私は彼らがすでにgemをインストールしていると思います。その場合、RPMはこれについて何も知らないため、これらのパッケージをインストールするためのRPM履歴がないため、このエラーが発生します。
次のようにインストールされたgemを一覧表示できます。
$ gem list
*** LOCAL GEMS ***
abstract (1.0.0)
actionmailer (3.0.10, 3.0.5)
actionpack (3.0.10, 3.0.5)
activemodel (3.0.10, 3.0.5)
activerecord (3.0.10, 3.0.5)
...
潜在的なソリューション
次のタイトルの投稿が見つかりました。Puppet 3.x, rubygem パッケージが RHEL 6.4 で見つかりません。同じ問題について話し合ってください。この問題を解決するには、yum設定に追加のリポジトリを追加する必要があるようです。これを行うには、次のコマンドを使用できます。
yum-config-manager --enable rhel-6-server-optional-rpms
rvmを使用したプライベートRubyのインストール
不足しているパッケージがたくさんある場合、またはさまざまなgem用に独自のパッケージをリリースする必要がある場合は、RPMの使用を放棄し、次のようにRuby + Gemsインスタンスを直接構築することをお勧めします。右部屋。別の議論中です。ユアン・エルQ&A。
また、ここでrvmの設定と使用に関するブログを作成しました。シェルとCGIスクリプトでRubyのrvmインストールを使用する方法。