安装linecache时在Windows机器上接收错误错误:无法构建gem本机扩展
当尝试执行现有Ruby on Rails项目的捆绑Installing linecache (0.43) with native extensions
时,当捆绑器到达Installing linecache (0.43) with native extensions
时,我收到错误。 我没有在项目Gem文件中看到linecache,所以如果没有它我就不能尝试捆绑。 我正在运行Windows 7和JetBrains RubyMine 2.0.2。 我试过从RubyMine和命令行中捆绑(我意识到这些是等价的)。
我的路径中有以下Ruby和DevKit-3.4.5-20100819-1535-sfx目录:
C:\ Ruby187 \ BIN C:\的devkit-3.4.5-20100819-1535-SFX \ BIN C:\的devkit-3.4.5-20100819-1535-SFX \ MinGW的\ BIN
以下是bundle命令的输出:
获取http://rubygems.org/的源索引 使用rake(0.8.7) 使用activesupport(2.3.4) 使用机架(1.0.1) 使用actionpack(2.3.4) 使用actionmailer(2.3.4) 使用activerecord(2.3.4) 使用activeresource(2.3.4) 使用authlogic(2.1.6) 使用构建器(2.1.2) 使用mime-types(1.16) 使用xml-simple(1.0.12) 使用aws-s3(0.6.2) 使用bundler(1.0.0) 使用calendar_date_select(1.16.1) 使用cgi_multipart_eof_fix(2.5.0) 使用配置(1.1.0) 使用守护进程(1.1.0) 使用delayed_job(2.1.0.pre) 使用factory_girl(1.3.2) 使用gem_plugin(0.2.3) 使用json_pure(1.4.6) 使用launchy(0.3.7) 使用rest-client(1.6.1) 使用heroku(1.11.0) 使用本机扩展安装linecache(0.43)C:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:483:在`build_extensions'中:错误:无法构建gem本机扩展。 (gem::安装:: ExtensionBuildError) C:/Ruby187/bin/ruby.exe extconf.rb 创建Makefile 使 Makefile:130:警告:覆盖目标`C:/ Code'的命令 Makefile:124:警告:忽略目标`C:/ Code'的旧命令 gcc -I。 -I / C / Ruby187 / lib / ruby / 1.8 / i386-mingw32 -I / C / Ruby187 / lib / ruby / 1.8 / i386-mingw32 -I。 -g -O2 -DFD_SETSIZE = 256 -c trace_nums.c gcc -shared -s -o trace_nums.so trace_nums.o -L。 -LC:/ Ruby187 / lib -L。 -Wl, - enable-auto-image-base, - enable-auto-import, - export-all -lmsvcrt-ruby18 -lshell32 -lws2_32 make install Makefile:130:警告:覆盖目标`C:/ Code'的命令 Makefile:124:警告:忽略目标`C:/ Code'的旧命令 安装-d C:/ Code / bin / install -c -m 0755 trace_nums.so C:/ Code Metrics / 2nd / cmusv / autotest-growl / ruby / 1.8 / gems / linecache-0.43 / lib / bin / install:省略目录`C:/ Code' make:*** [Metrics / 2nd / cmusv / autotest-growl / ruby / 1.8 / gems / linecache-0.43 / lib / trace_nums.so]错误1 Gem文件将保留在C:/ Code Metrics / 2nd / cmusv / autotest-growl / ruby / 1.8 / gems / linecache-0.43中进行检查。 结果记录到C:/ Code Metrics / 2nd / cmusv / autotest-growl / ruby / 1.8 / gems / linecache-0.43 / ext / gem_make.out 来自C:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in“each” 来自C:/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:在`build_extensions'中 来自C:/Ryy187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:在`install'中 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/source.rb:100:在`install'中 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:55:在'run'中 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in“each” 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in“each” 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:44:in,run' 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:8:in"install' 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/cli.rb:217:在`install'中 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in`send' 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in,run' 来自C:/Ryy187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb:118:在`invoke_task'中 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb:246:在`dispatch'中 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb:389:in“start” 来自C:/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.0/bin/bundle:13 从C:\ Ruby187 \ bin / bundle:19:在'load'中 来自C:\ Ruby187 \ bin / bundle:19 来自-e:1:在'load'中 从-e:1 进程以退出代码1结束
我错过了什么导致这个捆绑失败?
看起来可能是因为ruby安装路径中的空间“C:/ Code Metrics / 2nd / cmusv / autotest-growl / ruby / …”:
Makefile:130: warning: overriding commands for target `C:/Code' /bin/install: omitting directory `C:/Code' make: *** [Metrics/2nd/cmusv/autotest-growl/ruby/1.8/gems/linecache-0.43/lib/trace_nums.so] Error 1
RubyMine是否配置为使用不同的ruby安装? 您的PATH系统var是否列出了此路径,并且优先级高于您的Ruby187安装?