我已尝试过Stackoverflow上提供的与此错误相关的解决方案。我也通过重建我的gem尝试了一种试错法,但错误仍然存在。
以下错误:
./ bin / coding-schools:3: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
答案 0 :(得分:0)
尝试从./
删除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'
如果您真的在制作宝石,我建议将lib
中的每个文件放入一个与宝石同名的子目录中。那就是惯例。但是在你这样做之后,你必须修复一些相对包含,所以你应该首先让代码工作并将其标记为已接受的答案,然后查看。