`

scrubyt出现RubyInline (= 3.6.3)错误的解决办法

    博客分类:
  • Ruby
阅读更多

装好 scruby 后第一次使用遇到一个错误:

site_ruby/1.8/rubygems.rb:246:in `activate': can't activate RubyInline (= 3.6.3), already activated RubyInline-3.6.6] (Gem::Exception)


GOOGLE了一下,找到了两种方法:
1.使用gem uninstall RubyInline把3.6.6版本的RubyInline卸载了,具体操作见lintide的博客

2.在require 'scrubyt' 之前指定 RubyInline的版本,只要加上以下代码就可以了:

require_gem 'RubyInline', '=3.6.3'
 

 

第二种方法在我的linux机器正常,可windows下就报

undefined method `require_gem' for main:Object (NoMethodError)

的错误,可能是我的windows环境里装了最新的rails的缘故,于是把 require_gem 换成 gem,

OK,刚才的错误没了,但是又接着来了新的问题:

Define INLINEDIR or HOME in your environment and try again

 

检查 $RUBH_HOME\lib\ruby\gems\1.8\gems\RubyInline-3.6.3\lib目录下的 inline.rb 文件,发现里面有这样一段代码:

 

   env = ENV['INLINEDIR'] || ENV['HOME']

    if env.nil? then
      $stderr.puts "Define INLINEDIR or HOME in your environment and try again"
      exit 1
    end

 

于是就在系统环境变量中添加了 HOME  的设置: HOME=c:\tmp

 

再次运行代码,上一个错误没有了,又来了一堆新的错误信息:

 

c:/ruby/lib/ruby/gems/1.8/gems/RubyInline-3.6.3/lib/inline.rb:386:in ``': No s
h file or directory - cl -nologo -LD   -MD -Zi -O2b2xg- -G6 -I c:/ruby/lib/rub
1.8/i386-mswin32 -I c:/ruby/include -o "C:\tmp/.ruby_inline/Inline_ParseTree_2
7.so" "C:/tmp/.ruby_inline/Inline_ParseTree_2c97.c"  -link /LIBPATH:"c:/ruby/l
" /DEFAULTLIB:"msvcrt-ruby18.lib" /INCREMENTAL:no /EXPORT:Init_Inline_ParseTre
2c97 (Errno::ENOENT)
        from c:/ruby/lib/ruby/gems/1.8/gems/RubyInline-3.6.3/lib/inline.rb:386
n `build'
        from c:/ruby/lib/ruby/gems/1.8/gems/RubyInline-3.6.3/lib/inline.rb:660
n `inline'
        from c:/ruby/lib/ruby/gems/1.8/gems/ParseTreeReloaded-0.0.1/lib/parse_
ee_reloaded.rb:21
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `
m_original_require'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `
quire'
        from c:/ruby/lib/ruby/gems/1.8/gems/scrubyt-0.3.4/lib/scrubyt.rb:12
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `
m_original_require'
        from c:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:32:in `
quire'
        from google.rb:3
 

这简直是在玩俄罗斯套娃,不同的是这次越到里面娃越大。continue google,发现遇到这个问题的人大有人在,其中有 个叫 cohenyf 的仁兄号称搞定了这个问题,他的解决办法是:

 

1.把 C:\Program Files\Microsoft Visual Studio\VC98\Bin添加到系统的PATH变量里,当然前提是在你的系统中能找到这个目录。

2.复制windows系统目录下的MSVCP60.DLL 和 C:\Program Files\Microsoft Visual Studio\Common\Bin下的MSPDB60.dll文件到 C:\Program Files\Microsoft Visual Studio\VC98\Bin 下。

3.重启计算机以便 PATH 生效,其实不重启也行的。

 

我的天,我电脑上没有什么Visual Studio目录,这简直不就是折腾人么,我不玩了,我还是老老实实的继续用我的 beautifulsoap,bye ,scrubyt,我这未还没说句上整话的朋友,不过,等等,有位仁兄提到了什么jscrubyt

 
Thanks to Paul Nikitochkin a.k.a. pftg, scRUBYt! made a great leap to ensure win32 compatibility. Paul created JscRUBYt! - the JRuby version of scRUBYt! which should be easy to install under win32 even if you are not a level 64 microsoft compiling ninja (in fact, it requires no compiling, fiddling around with C/C++ or doing anything outside (J)Ruby-land (well, except of installing JRuby, of course)).

 

说貌似在win32环境跑的很正常,不过要装 jruby,我可不想再试了。

 

不过,如果你真的在win32下载用scruby,又不想这么折腾自己,那就再装个 0.2.6版吧

gem install scrubyt -v=0.2.6

把代码中的引用代码改成

require 'rubygems'
gem 'RubyInline', '=3.6.3'  
gem 'scrubyt', '=0.2.6'
require 'scrubyt'
 程序总算在windows下跑起来了,不过有多少bug我可不知道,最好还是在linux下用最新版的scrubyt。

 

 

 

 

 

 

分享到:
评论

相关推荐

    RubyInline-开源

    Ruby Inline的13个以上版本已完全迁移到http://rubyforge.org/projects/rubyinline/。有关详细信息,请访问此处。 它似乎在那边工作得更好。 :/(只需单击上面的主页)

    Ruby中使用SWIG编写ruby扩展模块实例

    在使用ruby/rails的过程中,确实发现有时性能不尽人意,如生成一个拥有600项的item的3层树形结构目录要花去20ms,为提高性能在学习用c/c++写ruby模块的过程中,认识了swig,rubyInline等一系列帮助编写c/c++来提升...

    模糊字符串匹配:ruby的模糊字符串匹配库

    很快(用RubyInline用C编写) 它仅支持Jaro-Winkler距离算法。 该程序是从Lucene 3.0.2手动移植的。 (lucene是Java产品) 如果要添加其他字符串距离算法,请自己将其分叉到github上并进行移植。 我开发模糊字符...

    基于matlab实现的空间调制通信过程,包含信号调制、天线选择等发送过程,以及采用最大似然估计的检测过程 .rar

    基于matlab实现的空间调制通信过程,包含信号调制、天线选择等发送过程,以及采用最大似然估计的检测过程。.rar

    基于matlab的关于生猪养殖场经营管理的研究.docx

    本文档是课题研究的研究报告内含调研以及源码设计以及结果分析

    网络作为特征提取器-python源码.zip

    网络作为特征提取器-python源码.zip

    JavaScript-javaweb项目

    JavaScript-javaweb项目

    node-v12.11.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    仿Slideby触屏版html5响应式手机wap网站模板下载.zip

    触屏版自适应手机wap软件网站模板 触屏版自适应手机wap软件网站模板

    node-v10.18.1-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    IEC 60695-11-3:2012.pdf

    IEC 60695-11-3:2012.pdf

    2021-2010上市公司和讯网社会责任评级CSR-股东员工客户消费者环境社会责任分项评级

    上市公司和讯网社会责任评级CSR-股东责任员工责任客户消费者环境社会责任分项评级 得分(2010-2021年) "中国上市公司-和讯网社会责任数据"是 一份来自和讯网的数据集,它同步并收集了中国上市公司关于社会责任的相关信息。包括了 公司在股东责任、员工责任、供应商客户消费者权益责任、环境责任、社会责任中的表现和 成绩,以反映公司承担社会责任的程度。可以帮助大家了解公司在承担社会责任方面的具体 表现。这对于研究公司社会责任与公司业绩、公司声誉、公司风险等方面的关系具有参考意 义。 一、数据介绍 数据名称:上市公司和讯网社会责任评级CSR-股东责任员工责任 客户消费者环境社会责任分项评级得分 数据年份:2010-2021年 样本数量:每 年含2300-4600左右上市公司数据,总数据量40058条(注:因披露口径原因 ,2021年仅有430+上市公司数据) 数据格式:Excel面板数据 二、指标说 明 共计11个指标:股票名称、股票代码、年份、总得分、等级、股东责任、员工责任、 供应商客户和消费者权益责任、环境责任、社会责任、统计日期 三、部分excel数据 展示

    使用opencv进行人脸识别和对比-python源码.zip

    使用opencv进行人脸识别和对比-python源码.zip

    EmotionVGGnet情绪识别-python源码.zip

    EmotionVGGnet情绪识别-python源码.zip

    node-v12.1.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    MediaPipe人体姿势估计-python源码.zip

    MediaPipe人体姿势估计-python源码.zip

    构造并使用决策树进行分类-python源码.zip

    构造并使用决策树进行分类-python源码.zip

    <2024年5月软考高项极限冲刺>《1 考试简介》

    <2024年5月软考高项极限冲刺>《1 考试简介》

    【特效超多】仿德国开元旅游触屏版html5手机wap旅游网站模板下载.zip

    【特效超多】仿德国开元旅游触屏版html5手机wap旅游网站模板下载.zip

    JSP基于WEB网上论坛设计与实现(源代码+论文+开题报告+答辩PPT+外文翻译).zip

    JSP基于WEB网上论坛设计与实现(源代码+论文+开题报告+答辩PPT+外文翻译)

Global site tag (gtag.js) - Google Analytics