0
gem install bcrypt
Building native extensions.  This could take a while...
ERROR:  Error installing bcrypt:
    ERROR: Failed to build gem native extension.

    /Users/mohit/.rvm/rubies/ruby-1.9.3-p547/bin/ruby extconf.rb
creating Makefile

make  clean

make
compiling bcrypt_ext.c
make: /usr/local/opt/gcc46/bin/gcc-4.6: No such file or directory
make: *** [bcrypt_ext.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/mohit/.rvm/gems/ruby-1.9.3-p547/gems/bcrypt-3.1.9 for inspection.
Results logged to /Users/mohit/.rvm/gems/ruby-1.9.3-p547/extensions/x86_64-darwin-13/1.9.1/bcrypt-3.1.9/gem_make.out

使用来自 OP 的附加信息进行编辑:

$ xcode-select --install 
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

$ brew doctor
Warning: You have uncommitted modifications to Homebrew 
If this a surprise to you, then you should stash these modifications. 
Stashing returns Homebrew to a pristine state but can be 
undone should you later need to do so for some reason. 
cd /usr/local/Library && git stash && git clean -d -f

$ brew info gcc 
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in require': 
cannot load such file -- global (LoadError) from 
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:
in require' from /usr/local/Library/brew.rb:16:in `<main>'

$ gcc -v 
Configured with:
  --prefix=/Applications/Xcode.app/Contents/Developer/usr
  --with-gxx-include-dir=/usr/include/c++/4.2.1 
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn) 
Target: x86_64-apple-darwin14.0.0 Thread model: posix

$ ls -ladg /usr/local/opt/gcc* 
No such file or directory 
4

3 回答 3

1

OSX 帮助

  1. 尝试安装 XCode,这往往是一个巨大的下载:

    $ xcode-select --install
    
  2. 如果结果类似于下面的这条消息,那么现在就可以了。

    command line tools are already installed, 
    use "Software Update" to install update
    
  3. 更新 OSX 以确保它正常且最新:

    Apple Menu -> About This Mac -> Software Update
    
  4. 验证您是否拥有当前系统,截至撰写本文时为 10.10:

    $ sw_vers
    ProductName: Mac OS X
    ProductVersion: 10.10
    BuildVersion: 14A389
    

冲泡帮助

  1. 如果你使用自制包管理器,什么版本?(请发布输出)

    $ brew --version
    
  2. 验证 brew 是否健康:

    $ brew doctor
    
  3. 如果医生发现任何错误,请修复这些错误。例如,医生可能会说这样做,所以这样做:

    cd /usr/local/Library && git stash && git clean -d -f – 
    
  4. 当医生说一切都很好时,然后带上 brew current:

    $ brew update
    $ brew upgrade
    
  5. 自制软件是否添加了 GCC?(请发布输出)

    $ brew info gcc 
    

海合会帮助

  1. GCC 可用吗?

    $ command -v gcc
    /usr/bin/gcc
    
  2. 查看您的CC编译器变量是否为空白或已设置。(请发布输出)

    $ echo $CC
    
  3. 你运行的是什么 GCC 版本?(请发布输出)

    $ gcc -v
    ...
    Apple LLVM version 6.0 (clang-600.0.34.4) (based on LLVM 3.5svn)
    ...
    
  4. 您是否在 Ruby 正在寻找的地方安装了任何 GCC?(请发布输出)

    $ ls -ladg /usr/local/opt/gcc*
    lrwxr-xr-x 1 admin 21 Dec 18 16:41 /usr/local/opt/gcc -> ../Cellar/gcc/4.9.2_1
    

根宝石帮助

  1. 如果你是 root,gem 会安装吗?

    $ sudo su -
    $ gem install bcrypt
    
于 2014-12-23T21:31:19.463 回答
1

这里的根本问题是 ruby​​ 本身带有 bcrypt 版本 3.1.5,它在较新的更新中存在错误。但是,当您安装或卸载 bcrypt 时,您将落后于 bcrypt-ruby,它总是首先要求,因此您所做的所有事情都不会通过,那么该怎么办?1- 通过运行以下两个命令卸载 bcrypt 和 bcrypt-ruby:

$ gem uninstall bcrypt

$ gem uninstall bcrypt-ruby

2-再次安装

gem install bcrypt --platform=ruby

在你的 Gemfile 中写 gem 'bcrypt','~>3.1.11'

现在,当我写这些行时,最新版本是 3.1.11,但无论更新什么版本,只需从他们的 gem 页面添加它。运行 bundle install 它应该可以正常工作。

我希望您完全了解解决方案及其机制,因此您会知道 bundle install 可能会导致相同的问题,因此您必须重复此过程并且它会再次起作用。

于 2016-07-23T11:52:00.817 回答
0

卡在一个旧项目上,我可以通过以下步骤安装 gem(检查你自己的路径 - 不要只是复制粘贴):

1)安装所需的gcc具体版本(查看版本):

brew install gcc46

2)符号链接安装的gcc目录:

ln -s /usr/local/Cellar/gcc\@4.6/4.6.4_2 /usr/local/Cellar/gcc46/4.6.4

3)安装gem报告错误(检查你的gem名称)

gem install bcrypt-ruby -v '3.0.1'
于 2017-07-25T18:10:55.573 回答