Ruby 1.9.x开始,require 同一文件夹中的文件提示 in `require': no such file to load 错误。
解决方式:
1、用 require_relative :
require_relative 'xxx.rb'
2、往 $: 中加入目录路径:
$:.unshift File.dirname __FILE__
require 'xxx.rb'
3、或者运行ruby的时候加 -I. 参数
ruby -I. xxx.rb
----------------------------------------------
引述豆友@knight_stalker 的解释:
“为什么 ruby1.9 要这么改,有两个考虑因素:
一个是 1.9 把 rubygems 的 load path 放到 load path 中了,所以 load path 里的东西很多了,所以要减少些⋯⋯
另一个是当前工作目录放在 load path 导致程序行为的不稳定
在 ruby1.8 中,假设有两个文件 a.rb 和 b.rb,都在目录 d 下面:
d/a.rb require 'b'
d/b.rb
那么在目录 d 下面运行 ruby a.rb 就正常,但是在上一层目录 ruby d/a.rb 就会说 require 不到文件 b ”
Source:http://book.douban.com/annotation/16170819/
分享到:
相关推荐
rubocop_require_relative 该宝石扩展了rubocop以捕获require_relative。 安装 将此行添加到您的应用程序的Gemfile中: gem 'rubocop_require_relative' 然后执行: $ bundle 用法 在.rubocop.yml中,添加以下...
在Ruby中,`require`和`require_relative`是两种常见的加载方法。`require`默认情况下不会重复加载同一文件,这是通过维护一个已加载文件的列表来实现的。而`require_relative`则是根据当前文件的路径来解析目标文件...
相对要求 req-config.json: { "MY_NODE_MODULES" : "path/to/node/... var req = require ( 'relative-require' ) ; var module = req ( 'module' ) ; // module is located in 'path/to/node/modules/module'
var relative = require ( 'require-path-relative' ) relative ( '/modules/utils' , '/modules' ) => '../' relative ( '/modules/utils' , '/modules' , './index.js' ) => '../test.js' relative ( '/modules' ...
require-relative是一个node.js程序,它要求和解析与您选择的路径有关的模块。 它利用了node.js自己的module模块,并且没有其他依赖项。 例子 相对需要模块 var relative = require ( 'require-relative' ) ; var ...
见 ... 使用了 Sébastien Corne 的一些片段。 版本:1.7.6 作者:Ivan Tcholakov ,2014 许可证:MIT... require dirname (__FILE__). '/write/your/relative/path/here/http_build_url.php' ; } 之后,函数 http_
辛纳屈装饰 ...require_relative 'decorators/post_decorator' get '/' do @post = Post . new . decorate # will try to find "#{self.class}Decorator" class slim :show end # models/post.rb
var Auth = require ( 'modules/auth' ) ; // ... 运行脚本 var path = require ( 'path' ) ; var base = path . join ( __dirname , './app' ) toRelative ( { base : base , exclude : [ 'nuclear-js' , '...
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules' require_relative '../node_modules/react-native-unimodules/cocoapods' # ... # Automatically detect installed ...
语音识别Ruby 使用 AT&T API 在 Ruby 中进行语音识别。 要求 Ruby 1.9.3 或更高版本(推荐 Ruby ... require_relative 'speech_recognition' # transcribe the audio speech = SpeechRecognition . new speech . r
相对读取文件 读取具有相对于当前模块的... var readSync = require ( 'read-file-relative' ) . readSync ; var data = readSync ( '/my-awesome-file' ) ; 就是这样。 您要使用普通缓冲区而不是字符串? 没问题
为了使此命令运行,SalesEngine项目中的所有require语句必须为require_relative 。本地安装Git将此项目克隆到与sales_engine项目目录相同级别的目录中。 它的排列方式应为: ||\| \sales_engine/||\| \sales_engine...
要求解决 使用节点方式将所需路径解析为绝对路径。...// Resolve a relative fileconsole . log ( requireResolve ( './example/simple.js' , path . dirname ( path . dirname ( __filename ) ) ) )
const isRelativeUrl = require ( 'is-relative-url' ) ; isRelativeUrl ( 'foo/bar' ) ; //=> true isRelativeUrl ( 'https://sindresorhus.com/foo/bar' ) ; //=> false isRelativeUrl ( '//sindresorhus.com' ) ...
雷德曼相对网址 一种相对于从何处接收请求的URL重写方式。 使应用程序更易于移植...var relative = require ( 'redman-relative-urls' ) ( config ) relative ( req , { asset_url : '/static' } ) 执照 麻省理工学院
var moment = require ( 'relative-time-parser' ) ; moment ( ) . relativeTime ( '-6h' ) . format ( ) ; 模式 ms毫秒 减去毫秒 moment ( ) . relativeTime ( '-6ms' ) ; 加毫秒 moment ( ) . relativeTime ( '...
require_relative 'config/environment' require 'prometheus/middleware/collector' require 'prometheus/middleware/exporter' use Prometheus::Middleware::Collector use Prometheus::Middleware::Exporter run...
用于输出相对日期的Javascript模块。 经过测试的平台:Node,Firefox 3.6,Chromium 8.0 安装 npm install相对日期 用法 在浏览器上: < script src = "relative-... > var relativeDate = require ( 'relative-
require_relative 'appcast' appcast = Screenhero :: Sparkle :: AppCast . new ( name : "MyAwesomeApp" , description : "MyAwesomeApp updates" , dsa_priv : File . open ( "/path/to/dsa_priv.pem" , File ::...
使用安装npm i relative-dest --save用法 var relative = require ( 'relative-dest' ) ;relative ( 'dist/a/b/c.md' , 'dist/public' ) ;//=> '../../public'relative ( 'dist/a/b/c.md' , 'assets' ) ;//=> '../.....