【问题标题】:`gem install tiny_tds` on OS X Yosemite failing with "You have to install development tools first."OS X Yosemite 上的“gem install tiny_tds”因“您必须先安装开发工具”而失败。
【发布时间】:2015-07-16 00:43:16
【问题描述】:

寻找一位睿智的贤者,为我指明下一步的正确方向。

我在 OS X 上使用 RVM 和 brew。我已确认 xcode 是最新的并且已安装 xcode 命令行工具。

我在gem install tiny_tds 期间遇到了这个错误

/Users/bdx/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/mkmf.rb:381:in 'try_do':编译器无法生成可执行文件。 (运行时错误)

您必须先安装开发工具。
来自 /Users/bdx/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/mkmf.rb:461:in 'try_link0'
来自 /Users/bdx/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/mkmf.rb:476:in 'try_link'
来自 /Users/bdx/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/mkmf.rb:619:in 'try_func'

我向mkmf.rb 添加了一些调试日志,以查看当时发生了什么。

try_do 的调用在command 参数中传递了以下内容:

命令

/usr/local/opt/gcc46/bin/gcc-4.6 -o conftest -I/Users/bdx/.rvm/rubies/ruby-1.9.3-p448/include/ruby-1.9.1/x86_64-darwin13.4.0 -I/Users/bdx/.rvm/rubies/ruby-1.9.3-p448/include/ruby-1.9.1/ruby/backward -I/Users/bdx/.rvm/rubies/ruby-1.9.3-p448/include/ruby-1.9.1 -I. -I/Users/bdx/.rvm/rubies/ruby-1.9.3-p448/include -I/usr/include -I/usr/local/include -I/usr/local/mysql/include -I/opt/X11/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE   -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include  -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fno-common -pipe  conftest.c  -L. -L/Users/bdx/.rvm/rubies/ruby-1.9.3-p448/lib -L/Users/bdx/.rvm/rubies/ruby-1.9.3-p448/lib -L/usr/lib -L/usr/local/lib -L/usr/local/mysql/lib -L/opt/X11/lib -L/usr/local/git/lib -L/Users/bdx/.rvm/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L. -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib       -lruby.1.9.1  -lpthread -ldl -lobjc 

command 参数之后,我发现/usr/local/opt/gcc46/bin/gcc-4.6 不存在。执行locate gcc-4.6 为我找到了它的路径,所以我运行:ln -s /usr/local/opt/gcc46/bin/gcc-4.6 /usr/local/Library/ENV/4.3/gcc-4.6 并再次尝试,但同样的错误不断发生。

【问题讨论】:

  • 只是为了好玩,如果您仍在使用 1.9.3,我会尝试更新您的 Ruby 以查看是否有效。
  • 原来就是这样......我避免进行升级,因为我有其他依赖它的宝石,我现在会找到替代品。

标签: ruby macos gcc osx-yosemite


【解决方案1】:

我也遇到了同样的错误——

你必须先安装开发工具

尝试安装 tiny_tds gem 时。检查日志文件 mkmf.rb 时,我发现错误是:

xcrun:错误:无效的活动开发者路径 (/Library/Developer/CommandLineTools),缺少 xcrun:/Library/Developer/CommandLineTools/usr/bin/xcrun

运行 xcode-select --reset 为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 2021-12-17
    • 2015-12-06
    • 1970-01-01
    • 2014-08-15
    • 2014-12-25
    • 2020-09-06
    • 1970-01-01
    相关资源
    最近更新 更多