首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复命令行界面加载错误:‘`require_relative':无法加载这样的文件-Ruby

如何修复命令行界面加载错误:‘`require_relative':无法加载这样的文件-Ruby
EN

Stack Overflow用户
提问于 2018-01-14 01:33:54
回答 1查看 2.2K关注 0票数 2

我已经尝试了Stackoverflow上提供的与此错误相关的解决方案。我也尝试了一种尝试和错误的方法,重新构建我的gem,但错误仍然出现。

以下错误:

./bin/coding-schools:3:in require_relative': cannot load such file -- /home/Jenhop8786/ temporary/coding_schools/bin/lib/coding_schools (LoadError) from ./bin/coding-schools:3:in

在我的bin文件夹中,我的文件如下所示:

代码语言:javascript
运行
复制
#!/usr/bin/env ruby

require_relative './lib/coding_schools'

CodingSchools::CLI.new.call

在我的lib文件夹中,我的文件如下所示:

代码语言:javascript
运行
复制
require_relative "./coding_schools/version"
require_relative "./coding_schools/cli"

项目目录:

代码语言:javascript
运行
复制
-->Temporary
-->coding_schools 
 ->bin
   -coding-schools
   -console 
   -setup 
 ->lib
   -cli.rb
   -coding_schools.rb
   -version.rb
-gitignore
-coding_schools.gemspec
-Gemfile
-LICENSE
-Rakefile
-README.md
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-14 01:43:34

尝试从require_relative中删除./.指的是启动Ruby进程的当前工作目录。

如果需要,您可以使用../转到一个目录。

通过特定的目录结构,bin (或lib)中的文件可以使用如下代码加载lib中的文件:

代码语言:javascript
运行
复制
require_relative '../lib/cli'
require_relative '../lib/coding_schools'
require_relative '../lib/version'

lib中的文件可以通过如下代码相互加载:

代码语言:javascript
运行
复制
require_relative 'cli'
require_relative 'coding_schools'
require_relative 'version'

如果你真的想做一个gem,我建议将lib中的每个文件放到一个与gem同名的子目录中。这是惯例。但是这样做之后,你必须修复一些相对的包含,所以你应该首先让你的代码正常工作,并将其标记为可接受的答案,然后再研究它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48242454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档