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 ...
随机推荐
- Java中Excel导入功能实现、excel导入公共方法_POI -
这是一个思路希望能帮助到大家:如果大家有更好的解决方法希望分享出来 公司导入是这样做的 每个到导入的地方 @Override public List<DataImportMessage> ...
- Linux2.6 --系统调用处理程序
用户空间的程序无法直接执行内核代码.它们不能直接调用内核空间中的函数,因为内核驻留在受保护的地址空间上.如果进程可以直接在内核的地址空间上读写的话,系统的安全性和稳定性将不复存在. ...
- 百度的android面试总结分析
今天就是今天上午10点,我接到了百度的电话面试,当然提前和我说了,我的拖延症是有多强烈,以至于我没怎么准备,当然我也想着看看自己的真实水平,在此检讨一下!!!!!!!!!!!!!!!!!!!!!!!! ...
- 【C++知识点】单例模式的简单实现
单例模式是最常见,也是使用最广泛的一种设计模式,其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享. 单例模式的实现方法有很多种,本文只给出一个最简单的实现,如下: ...
- Win7/Win8/Win10下安装Ubuntu14.04双系统 以及常见问题
整理自网络. 1. 制作镜像 将ubantu镜像刻录到优盘(我使用UltraISO刻录,镜像下载地址:链接: http://pan.baidu.com/s/1bndbcGv 密码: qsmb) 2. ...
- 解决 RtlCreateActivationContext() failed 0xc000000d
gtest 示例的Debug版启动报错: Debug输出如下: 'sample1_unittest.exe': Loaded 'D:\LibSrc\gtest_1.7.0_build\Debug\sa ...
- Google的两种广告推广方式
1搜索关键字广告推送:AdWords: 覆盖广泛:在全球最大的搜索和网络平台上进行推广. 定位精准:锁定目标客户群体,让潜在客户轻松找上门. 成本可控:仅当用户点击广告时,您才支付费用. 2.网站内容 ...
- nginx 安装php
1. 安装PHP 5.5.0 下载 1 2 cd /usr/local/src/ wget http://www.php.net/get/php-5.5.0.tar.bz2/from/jp1.ph ...
- 【网站搭建】搭建独立域名博客 -- 独立域名博客上线了 www.hanshuliang.com
博客是安装在阿里云的服务器上. 小结 : -- 进入数据库命令 :mysql -uroot -p123456 ; -- 检查nginx配置语法 :.../nginx/sbin/nginx -t; -- ...
- C++中将构造函数或析构函数定义为private
今天面试被问到了这个单例模式常用到的技术手段,下面进行分析: 很多情况下要求当前的程序中只有一个object.例如一个程序只有一个和数据库的连接,只有一个鼠标的object.通常我们都将构造函数的声明 ...