我一直在设置我的服务器以在其上运行 Rails 应用程序,最近开始配置 Capistrano 以进行部署。部署本身似乎相当一致,但在尝试运行时失败bundle install --deployment
。日志摘录:
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/bin/ruby extconf.rb
creating Makefile
make
compiling crypt_blowfish.c
make: execvp: gcc: Permission denied
make: *** [crypt_blowfish.o] Error 127
Gem files will remain installed in /home/.../public_html/v4/shared/bundle/ruby/2.0.0/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /home/.../public_html/v4/shared/bundle/ruby/2.0.0/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out
An error occurred while installing bcrypt-ruby (3.0.1), and Bundler cannot
continue.
Make sure that `gem install bcrypt-ruby -v '3.0.1'` succeeds before bundling.
对于它的价值,gem install bcrypt-ruby -v '3.0.1'
作为非 root 用户失败(即使具有 sudo 权限)。它确实以 root 用户身份工作。
gem_make.out 日志说:
/usr/local/bin/ruby extconf.rb
creating Makefile
make
compiling crypt_blowfish.c
make: execvp: gcc: Permission denied
make: *** [crypt_blowfish.o] Error 127
没有权限。这很有趣,因为我认为这是使用bundle install --deployment
. 我到处找,没有发现任何有帮助的东西。
我有一种感觉,这可能与 ruby 可能是以 root 用户身份安装的事实有关。也就是说——当我到达服务器时它已经安装好了。我尝试使用 RVM 重新安装 ruby(作为非 root 用户,尽管我得到了相同的结果)并得到:
Searching for binary rubies, this might take some time.
Installing requirements for centos, might require sudo password.
Installing required packages: gcc-c++, libyaml-devel, libffi-devel...................................................................................
Error running 'requirements_centos_libs_install gcc-c++ libyaml-devel libffi-devel',
please read /home/.../.rvm/log/ruby-2.0.0-p247/1376056268_package_install_gcc-c++_libyaml-devel_libffi-devel.log
那里的日志说...
Transaction Check Error:
package libgcc-4.4.7-3.el6.x86_64 is already installed
package glibc-2.12-1.107.el6_4.2.x86_64 is already installed
package gmp-4.3.1-7.el6_2.2.x86_64 is already installed
package mpfr-2.4.1-6.el6.x86_64 is already installed
package nss-softokn-freebl-3.14.3-3.el6_4.x86_64 is already installed
package libstdc++-4.4.7-3.el6.x86_64 is already installed
package libffi-3.0.5-3.2.el6.x86_64 is already installed
file /sbin/ldconfig from install of glibc-2.12-1.107.el6_4.2.x86_64 conflicts with file from package glibc-2.12-1.107.el6_4.2.i686
file /sbin/sln from install of glibc-2.12-1.107.el6_4.2.x86_64 conflicts with file from package glibc-2.12-1.107.el6_4.2.i686
file /usr/sbin/iconvconfig from install of glibc-2.12-1.107.el6_4.2.x86_64 conflicts with file from package glibc-2.12-1.107.el6_4.2.i686
长话短说,我有点不知所措。
运行 CentOS 6.4 / cPanel。
提前感谢您的帮助!