CentOSサーバーがインターネットにアクセスできないため、各パッケージに対してMonoインストーラを作成しようとしています。ただし、次のようにシングルコアパッケージをインストールしようとすると:
rpm -i mono-core-4.8.1.0-0.xamarin.1.x86_64.rpm
システムに次のエラーメッセージが表示されます。
error: Failed dependencies:
mono(System.ComponentModel.Composition) = 4.0.0.0 is needed by mono-core-4.8.1.0-0.xamarin.1.x86_64
mono(System.ComponentModel.DataAnnotations) = 4.0.0.0 is needed by mono-core-4.8.1.0-0.xamarin.1.x86_64
mono(System.Data) = 4.0.0.0 is needed by mono-core-4.8.1.0-0.xamarin.1.x86_64
mono(System.IdentityModel) = 4.0.0.0 is needed by mono-core-4.8.1.0-0.xamarin.1.x86_64
mono(System.Runtime.Serialization) = 4.0.0.0 is needed by mono-core-4.8.1.0-0.xamarin.1.x86_64
mono(System.ServiceModel) = 4.0.0.0 is needed by mono-core-4.8.1.0-0.xamarin.1.x86_64
mono(System.ServiceProcess) = 4.0.0.0 is needed by mono-core-4.8.1.0-0.xamarin.1.x86_64
これらの依存関係を解決するには?
修正する
次のコマンドを使用しようとしています。
yum localinstall mono-core-4.8.1.0-0.xamarin.1.x86_64.rpm
結果:
Examining mono-core-4.8.1.0-0.xamarin.1.x86_64.rpm: mono-core-4.8.1.0-0.xamarin.1.x86_64
Marking mono-core-4.8.1.0-0.xamarin.1.x86_64.rpm to be installed
Resolving Dependencies
Running transaction check
Package mono-core.x86_64 0:4.8.1.0-0.xamarin.1 will be installed
Processing Dependency: mono(System.ComponentModel.Composition) = 4.0.0.0 for package: mono-core-4.8.1.0-0.xamarin.1.x86_64
Processing Dependency: mono(System.ComponentModel.DataAnnotations) = 4.0.0.0 for package: mono-core-4.8.1.0-0.xamarin.1.x86_64
Processing Dependency: mono(System.Data) = 4.0.0.0 for package: mono-core-4.
Processing Dependency: mono(System.IdentityModel) = 4.0.0.0 for package: mono-core-4.8.1.0-0.xamarin.1.x86_64
Processing Dependency: mono(System.Runtime.Serialization) = 4.0.0.0 for package: mono-core-4.8.1.0-0.xamarin.1.x86_64
Processing Dependency: mono(System.ServiceModel) = 4.0.0.0 for package: mono-core-4.8.1.0-0.xamarin.1.x86_64
Processing Dependency: mono(System.ServiceProcess) = 4.0.0.0 for package: mono-core-4.8.1.0-0.xamarin.1.x86_64
Finished Dependency Resolution
Error: Package: mono-core-4.8.1.0-0.xamarin.1.x86_64 (/mono-core-4.8.1.0-0.xamarin.1.x86_64) Requires: mono(System.Data) = 4.0.0.0
Error: Package: mono-core-4.8.1.0-0.xamarin.1.x86_64 (/mono-core-4.8.1.0-0.xamarin.1.x86_64) Requires: mono(System.ComponentModel.DataAnnotations) = 4.0.0.0
Error: Package: mono-core-4.8.1.0-0.xamarin.1.x86_64 (/mono-core-4.8.1.0-0.xamarin.1.x86_64) Requires: mono(System.IdentityModel) = 4.0.0.0
Error: Package: mono-core-4.8.1.0-0.xamarin.1.x86_64 (/mono-core-4.8.1.0-0.xamarin.1.x86_64) Requires: mono(System.ServiceModel) = 4.0.0.0
Error: Package: mono-core-4.8.1.0-0.xamarin.1.x86_64 (/mono-core-4.8.1.0-0.xamarin.1.x86_64) Requires: mono(System.ComponentModel.Composition) = 4.0.0.0
Error: Package: mono-core-4.8.1.0-0.xamarin.1.x86_64 (/mono-core-4.8.1.0-0.xamarin.1.x86_64) Requires: mono(System.Runtime.Serialization) = 4.0.0.0
Error: Package: mono-core-4.8.1.0-0.xamarin.1.x86_64 (/mono-core-4.8.1.0-0.xamarin.1.x86_64) Requires: mono(System.ServiceProcess) = 4.0.0.0
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
答え1
試してみると、理想yum localinstall mono-core-4.8.1.0-0.xamarin.1.x86_64.rpm
的には依存yum
関係を見つけてインポートできます。
答え2
--skip-brokenを使用してパッケージを強制的にインストールできますが、後で依存関係の問題が発生する可能性がある問題を解決できます。