ruby TkPackage can't find package BWidget 之解决办法
一个特别短的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安装,接着运行,这个世界清净啦:
ruby TkPackage can't find package BWidget 之解决办法的更多相关文章
- sublime text 3 无法安装Package Control插件解决办法
sublime text 3 无法安装Package Control插件解决办法 ***关于sublime text 3 常用的 Package Control插件的安装方法*** 1.CTRL+` ...
- 出现No package gcc+ available解决办法
系统 CentOS Linux release 7.4.1708 (Core) 安装gcc时报错 [root@ip---- node-v10.15.3]# yum -y install gcc+ ...
- ubuntu-E:Encountered a section with no Package: header的解决办法 (转)
E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/cn.arch ...
- ubuntu-E:Encountered a section with no Package: header的解决办法
刚才打开ubuntu,我的版本是12.04.正想使用sudo apt-get install build-essential 时,出现了如下错误: E:Encountered a section wi ...
- Unable to locate package python3 错误解决办法
错误 huny@DESKTOP-N1EBKQP:/mnt/c/Users/Administrator$ sudo apt-get install python3 Reading package lis ...
- Visual Studio 2010 更新NuGet Package Manager出错解决办法
在Visual Studio 2010的扩展管理器中发现NuGet Package Manger有最新版本更新提示,选择更新安装提示以下错误信息: 2013/4/25 1:11:48 - Micros ...
- Flutter 卡在 package get 的解决办法
今天在尝试使用Flutter 的时候,需要使用一个第三方库 修改了 pubspec 文件之后,AS 像往常一样提示 需要 package get. 之前都挺正常,不知道今天怎么了. 一直处在 Runn ...
- yum与apt命令比较,yum安装出现No package vim available解决办法
yum (Yellowdog Updater Modified)是一个集与查找,安装,更新和删除程序的Linux软件.它运行在RPM包兼容的Linux发行版本上,如:RedHat, Fedora, S ...
- yum安装出现No package vim available解决办法
[root@iZwz96wgquf8g6okusxr0uZ yum.repos.d]# yum install yum-downloadLoaded plugins: fastestmirrorLoa ...
随机推荐
- Android必知必会-Stetho调试工具
一.背景 Stetho是 Facebook 出品的一个强大的 Android 调试工具,使用该工具你可以在 Chrome Developer Tools查看APP的布局, 网络请求(仅限使用Volle ...
- 【一天一道LeetCode】#223. Rectangle Area
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Find th ...
- 【java集合框架源码剖析系列】java源码剖析之java集合中的折半插入排序算法
注:关于排序算法,博主写过[数据结构排序算法系列]数据结构八大排序算法,基本上把所有的排序算法都详细的讲解过,而之所以单独将java集合中的排序算法拿出来讲解,是因为在阿里巴巴内推面试的时候面试官问过 ...
- 物料事务处理interface与temp解析
MTL_TRANSACTIONS_INTERFACE MTL_TRANSACTIONS_INTERFACE is the interface point between non– Inventory ...
- iOS开发基础block的形式讲解
前几个星期,我利用通知写了一个仿京东选择地址的Demo(http://blog.csdn.net/hbblzjy/article/details/52212879),后来看过一篇文章说,尽量少用通知, ...
- Android学习之Animation(一)
3.0以前,android支持两种动画模式,Tween Animation,Frame Animation,在android3.0中又引入了一个新的动画系统:Property Animation,这三 ...
- K-均值聚类算法(K-means)
K-means是一种无监督的学习,将相似的对象归到同一个簇中.可以将一批数据分为K个不同的簇,并且每个簇的中心采用簇中所含样本的均值计算而成. K-means算法的K值需要由用户指定, ...
- Linux进程-进程的创建
今天学习了Linux的进程创建的基本原理,是基于0.11版本核心的.下面对其作一下简单的总结. 一.Linux进程在内存中的相关资源 很容易理解,Linux进程的创建过程就是内存中进程相关资源产生 ...
- 分布式进阶(十一) Docker 常见错误汇总
NO.1 以上添加网桥的命令在Ubuntu14.04中是不可行的.正确的命令如下: brctl addbr br0 ifconfig br0 192.168.1.188 netmask 255.255 ...
- 高通 8x12 添加 TP和按键
1 .在tp的驱动文件中添加以下代码实现按键功能 [plain] view plain copy static ssize_t ft5x06_virtual_keys_register(struct ...