Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 杰基尔服务——baseurl'';返回错误:can';t dup TrueClass。使用--trace查看回溯_Ruby_Github_Jekyll_Base Url_Github Pages - Fatal编程技术网

Ruby 杰基尔服务——baseurl'';返回错误:can';t dup TrueClass。使用--trace查看回溯

Ruby 杰基尔服务——baseurl'';返回错误:can';t dup TrueClass。使用--trace查看回溯,ruby,github,jekyll,base-url,github-pages,Ruby,Github,Jekyll,Base Url,Github Pages,我正在使用gh页面为我的jekyll站点进行depoyment 每次我想在本地为jekyll提供服务时,我一直在尝试开发,而不必在源代码的所有css、js和img文件之前删除/添加{site.baseurl}}路径 我有点被困在这里,因为每个人都说要传递这样一个空字符串: jekyll serve --baseurl "" url: "http://myjekyllsite.github.io/" baseurl: "/my-baseurl" 但当我这样做时,它会生成站点ok,但返回: er

我正在使用gh页面为我的jekyll站点进行depoyment

每次我想在本地为jekyll提供服务时,我一直在尝试开发,而不必在源代码的所有css、js和img文件之前删除/添加{site.baseurl}}路径

我有点被困在这里,因为每个人都说要传递这样一个空字符串:

jekyll serve --baseurl ""
url: "http://myjekyllsite.github.io/"
baseurl: "/my-baseurl"
但当我这样做时,它会生成站点ok,但返回:

error: can't dup TrueClass. Use --trace to view backtrace
我似乎不明白为什么会出现这个错误

My _config.yml大致如下所示:

jekyll serve --baseurl ""
url: "http://myjekyllsite.github.io/"
baseurl: "/my-baseurl"
我链接了我的js和css文件,并添加了图像路径,如下所示:

<img src="{{ site.baseurl }}/img/image1.jpg">

我唯一使用的插件是JekyllSass


有什么想法吗?

我没有找到修复dup TrueClass的传统方法,但我找到了一种足够好的解决方法,这样我就可以在本地开发,而无需每次切换这些路径

在杰基尔的gh页面指南中:

它们特别声明在_config.yml中的baseurl上没有尾随斜杠。我发现,没有按照他们的建议,在_config.yml中使用一个尾随斜杠,就像这样:

baseurl: /my-path/
我可以让我的所有其他链接仍然使用{{site.baseurl}}路径,而不使用前导斜杠,并使用:

jekyll serve --baseurl '/' -w
所以我所有的路都很好。 例如:



这样,当我向上推到gh页面时,它也可以工作。

是否需要使用绝对路径?为什么不直接使用一个站点根相对URL(即
,然后你就可以不用baseurl了。另外,如果你可以链接到repo,我会看看你的完整代码。另外,尝试使用
--baseurl”“
参数,而不是空的
--baseurl/“
谢谢Joel,使用--baseurl/”当然,当我最初使用--baseurl“/”时,路径有一个双斜杠,如//img/img1.jpg,所以答案是删除我所有链接中的正斜杠。