ruby TkPackage can't find package BWidget 之解决办法
2024-10-14 18:07:48
一个特别短的ruby/tk代码:
require 'tkextlib\iwidgets' require 'tkextlib\bwidget' x = 0 101.times {|i| x+=i} Tk.messageBox(:type=>:ok,:title=>"win",:message=>"total 100 is #{x}")
但是运行提示出错:
/usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- tkextlib\iwidgets (LoadError) from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from 1945.rb:1:in `<main>'
这段代码原来是windows下写的,首先发现路径分隔符在linux需要用/。windows下估计/和\都可以吧?!然后接着运行,原来的错误木有了,新的错误出现鸟:
/usr/lib/ruby/2.1.0/tk/package.rb:86:in `rescue in require': TkPackage can't find package BWidget (RuntimeError) from /usr/lib/ruby/2.1.0/tk/package.rb:83:in `require' from /usr/lib/ruby/2.1.0/tkextlib/bwidget.rb:16:in `<top (required)>' from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require' from 1945.rb:2:in `<main>'
提示找不到BWidget包,遂locate之,发现头文件啥的都是有的啊:
/usr/lib/ruby/2.1.0/tkextlib/bwidget /usr/lib/ruby/2.1.0/tkextlib/bwidget.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/arrowbutton.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/bitmap.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/button.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/buttonbox.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/combobox.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/dialog.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/dragsite.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/dropsite.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/dynamichelp.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/entry.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/label.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/labelentry.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/labelframe.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/listbox.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/mainframe.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/messagedlg.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/notebook.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/pagesmanager.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/panedwindow.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/panelframe.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/passwddlg.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/progressbar.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/progressdlg.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/scrollableframe.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/scrolledwindow.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/scrollview.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/selectcolor.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/selectfont.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/separator.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/setup.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/spinbox.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/statusbar.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/titleframe.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/tree.rb /usr/lib/ruby/2.1.0/tkextlib/bwidget/widget.rb /usr/lib/x86_64-linux-gnu/deja-dup/libwidgets.so /usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/PrivateWidgets/libwidgetsplugin.so
难道是库文件没有?于是乎用 sudo apt-get install bwidget安装,接着运行,这个世界清净啦:
最新文章
- 论文阅读(Zhuoyao Zhong——【aixiv2016】DeepText A Unified Framework for Text Proposal Generation and Text Detection in Natural Images)
- 看看 JDK 8 给我们带来什么(转)
- linux kernel.shmall shemax shemin 參數解釋
- 关于centos更新后virtualbox无法使用的问题
- C# API: 生成和读取Excel文件
- RxJava开发精要4 – Observables过滤
- c#文件转化byte数组
- js获取域名的方法
- 一些javascript免费中文书籍
- jquery第一期:运行第一个jquery
- C++ delete 和 delete []
- 201521123071《Java程序设计》第五周学习总结
- Android图表库MPAndroidChart(十四)——在ListView种使用相同的图表
- Erlang 集群互连测试
- DQL、DML、DDL、DCL区别
- python中的函数参数的传递
- matplotlib 初次编译无法运行
- Mysql多实例安装笔记
- 网络流24T
- Flask关于请求表单的粗浅应用及理解+简单SQL语句温习