我尝试使用JEKYLL_ENV变量在生产模式下构建jekyll项目,但是它不起作用。
Jekyll文档指定在构建命令中设置production
环境:
JEKYLL_ENV=production jekyll build
但是在Windows上,这种语法不正确。 我使用了以下语法,但看起来不起作用:
jekyll build JEKYLL_ENV=production
我也“手动”设置了这个环境变量,但是没有生效:
setx JEKYLL_ENV production & jekyll build
和
set JEKYLL_ENV=production & jekyll build
答案 0 :(得分:2)
我在Windows / Jekyll设置中也遇到了这个问题。我的解决方法是拥有生产和开发配置文件,并在每个文件中设置environment
变量。
// _config.yml
environment: production
...<other config settings>...
--------
// _config_dev.yml
environment: development
您的产品环境应运行jekyll build
,该环境会自动使用_config.yml
。您的开发环境应运行jekyll <command> --config _config.yml,_config_dev.yml
。在Jekyll config docs中,“以后[config]文件中的设置将覆盖以前文件中的设置。”因此,您可以在prod和dev配置文件中设置变量,并使用--config _config.yml,_config_dev.yml
在dev中设置变量。
要在Jekyll中进行处理,请使用Liquid语句检查环境变量。 Config files set site
变量,因此请检查site.environment
// some file that will be processed by Jekyll
{% if site.environment == "production" %}
<do prod stuff>
{% elsif site.environment == "development" %}
<do dev stuff>
{% endif %}
答案 1 :(得分:0)
这对我有用:
set JEKYLL_ENV=production | jekyll build
像Thxopen建议的那样分别运行两个命令是可行的。然后,我尝试使用here中提到的分隔符在一行上运行两个命令,效果很好。
答案 2 :(得分:-1)
在Windows上,您应该运行两个命令:
第一个将环境设置为生产的命令
set JEKYLL_ENV=production
第二条命令运行jekyll build
或jekyll server
jekyll build
在使用开发evn时,再次运行以下命令:
set JEKYLL_ENV=development