我正在尝试使用模拟构build系统来构buildRPM。 但是,模拟环境中的shell似乎无法findruby命令。 我跑到一个构build错误:
sh: ruby: command not found
我可以看到ruby安装在模拟环境中,因为它是spec文件的BuildRequires依赖项:
DEBUG util.py:257: Getting requirements for thrift-0.8.0-1.el6.src DEBUG util.py:257: --> byacc-1.9.20070509-6.1.el6.x86_64 DEBUG util.py:257: --> boost-devel-1.41.0-11.el6_1.2.x86_64 DEBUG util.py:257: --> dos2unix-3.1-37.el6.x86_64 DEBUG util.py:257: --> flex-2.5.35-8.el6.x86_64 DEBUG util.py:257: --> libevent-devel-1.4.13-1.el6.x86_64 DEBUG util.py:257: --> libtool-2.2.6-15.5.el6.x86_64 DEBUG util.py:257: --> zlib-devel-1.2.3-27.el6.x86_64 DEBUG util.py:257: --> openssl-devel-1.0.0-20.el6_2.3.x86_64 DEBUG util.py:257: --> git-1.7.1-2.el6_0.1.x86_64 DEBUG util.py:257: --> erlang-R14B-04.1.el6.x86_64 DEBUG util.py:257: --> 4:perl-devel-5.10.1-119.el6_1.1.x86_64 DEBUG util.py:257: --> php-devel-5.3.3-3.el6_2.6.x86_64 DEBUG util.py:257: --> python-devel-2.6.6-29.el6.x86_64 DEBUG util.py:257: --> ruby-1.8.7.352-7.el6_2.x86_64 DEBUG util.py:257: --> ruby-devel-1.8.7.352-7.el6_2.x86_64
如果我在模拟环境中手动安装ruby,shell可以使用它:
[ashinn@rpmbuilder ~]$ mock -q --shell "ruby -v" /bin/bash: ruby: command not found [ashinn@rpmbuilder ~]$ mock -q --install ruby [ashinn@rpmbuilder ~]$ mock -q --shell "ruby -v" ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] [ashinn@rpmbuilder ~]$
但即使我运行–no-clean,构build仍然失败。 有一件事对我来说非常重要,那就是模拟 – shell与/ bin / bash失败了。 但是,rpmbuild输出失败/ bin / sh。
为什么在shell中的差异,并可能导致这个问题?