Ric*_*uhr 1 ruby macos tk-toolkit
我开始在运行Leopard的iMac上学习ruby的基础知识.
现在我系统上的版本是ruby 1.8.6
但是,我也独立安装了(通过MacPorts)ruby 1.9,因为它对应于最新的"PickAxe"书.
ruby 1.8.6的安装位置在/ usr/bin/ruby中ruby 1.9.1的安装位置在/ opt/local/bin中(当我使用MacPorts时安装在那里)
我的问题与下面相当标准的例子中的require'tk'语句有关的错误消息有关,该例子位于文件HelloWorld.rb中
require 'tk'
root = TkRoot.new { title "Hello world" }
TkLabel.new(root) do
text 'Hello world!'
end
Tk.mainloop
Run Code Online (Sandbox Code Playgroud)
当我调用命令ruby HelloWorld.rb时,我得到了我期望的结果; 该程序运行.
但是,当我调用命令ruby1.9 HelloWorld.rb时,我收到错误消息
HelloWorld.rb:1:require': no such file to load -- tk (LoadError)
from HelloWorld.rb:1:in'
我一直在搜索网络和各种帖子,但到目前为止还没有找到一个明确的解释,我需要做什么才能使ruby1.9能够在使用require'tk'语句时找到tk.
是否与运行gem1.9命令(也在/ opt/local/bin中)有关?
我试过调用sudo gem1.9 install tk但是会导致错误消息错误:无法在本地或在存储库中找到gem tk
任何建议将不胜感激.
ruby的TK绑定使用已编译的代码(而不是纯ruby),因此不同的ruby版本需要两次安装.
Darwinports默认情况下没有使用TK支持构建ruby 1.9.您需要选择tk或mactk变体(请参阅portfile)
我使用darwinports已经有一段时间了,但我认为这是语法:
port install ruby19 +mactkRun Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3308 次 |
| 最近记录: |