我正试图rake在我的ruby脚本中使用...(Ruby 1.8.6,JRuby 1.6.5)
下载的rake使用gem install --remote rake,在安装时看起来不错......
Fetching: rake-0.9.2.2.gem (100%)
Successfully installed rake-0.9.2.2
1 gem installed
Run Code Online (Sandbox Code Playgroud)
我有一个简单的ruby脚本工作正常,但当我导入rake使用以下任何一个requires时,它开始抱怨....
require 'rake'
LoadError: no such file to load -- rake
or
require '/lib/rake'
LoadError: no such file to load -- lib/rake
Run Code Online (Sandbox Code Playgroud)
经过一番搜索,我发现require 'rubygems'在rake修复问题之前添加....
require 'rubygems'
require 'rake'
Run Code Online (Sandbox Code Playgroud)
即使它正在运作,我也有一些问题......
宝石规格rake显示require_path为lib,所以为什么不起作用require '/lib/rake'?我误解了意义require_path吗?
为什么有必要放在require 'rubygems'前面require
'rake'
是的,你误解了意义.将require_paths在规范的数组是宝石的安装目录下的子目录应搜索属于宝石文件.
要找出rake到底在哪里,试试这个:
$ gem which rake
Run Code Online (Sandbox Code Playgroud)
你会发现它实际安装在一个完全无关的地方/lib; 在我的系统上,它在/var/lib/gems.通常,Ruby gem存在于它们自己的目录结构中; 标准Ruby中唯一的文件包括path($:)rubygems本身,你曾经必须明确地require为了使任何实际的gem可见.(从Ruby 1.9开始,这不是必需的.)
宝石比只加载库更复杂; 你可以安装同一个gem的多个版本,并一次指定你想要的那个版本,如果只是将gems转储到标准的Ruby包含路径中,那么做其他不起作用的事情.
| 归档时间: |
|
| 查看次数: |
9540 次 |
| 最近记录: |