我已经尝试了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文件夹中,我的文件如下所示:
#!/usr/bin/env ruby
require_relative './lib/coding_schools'
CodingSchools::CLI.new.call
在我的lib文件夹中,我的文件如下所示:
require_relative "./coding_schools/version"
require_relative "./coding_schools/cli"
项目目录:
-->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
发布于 2018-01-14 01:43:34
尝试从require_relative
中删除./
。.
指的是启动Ruby进程的当前工作目录。
如果需要,您可以使用../
转到一个目录。
通过特定的目录结构,bin
(或lib
)中的文件可以使用如下代码加载lib
中的文件:
require_relative '../lib/cli'
require_relative '../lib/coding_schools'
require_relative '../lib/version'
lib
中的文件可以通过如下代码相互加载:
require_relative 'cli'
require_relative 'coding_schools'
require_relative 'version'
如果你真的想做一个gem,我建议将lib
中的每个文件放到一个与gem同名的子目录中。这是惯例。但是这样做之后,你必须修复一些相对的包含,所以你应该首先让你的代码正常工作,并将其标记为可接受的答案,然后再研究它。
https://stackoverflow.com/questions/48242454
复制相似问题