gpt4 book ai didi

ruby - 使用 Openshift Jekyll Cartridge 添加到 PATH 变量

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:07 25 4
gpt4 key购买 nike

我想在 Openshift 上为 jekyll 使用 pandoc markdown 插件。这需要更改 PATH 变量,以便可以将 pandoc 可执行文件放在 $OPENSHIFT_DATA_DIR 中。我 fork 了 jekyll cartridge并试图模仿 env 在 bin/setup 中的设置方式。

ruby 路径元素是这样设置的:

dirname $(scl enable ruby193 "which ruby") > $env_dir/OPENSHIFT_RUBY_PATH_ELEMENT

所以,我尝试了这个:

dirname $(scl enable ruby193 "printenv OPENSHIFT_DATA_DIR") > $env_dir/OPENSHIFT_JEKYLL_PATH_ELEMENT

尽管短名称是“jekyll”,但考虑到这也许算作 ruby 墨盒,我也尝试过:

dirname $(scl enable ruby193 "printenv OPENSHIFT_DATA_DIR") > $env_dir/OPENSHIFT_RUBY_PATH_ELEMENT

我也试过:

dirname echo $OPENSHIFT_DATA_DIR > $env_dir/OPENSHIFT_JEKYLL_PATH_ELEMENT
dirname echo $OPENSHIFT_DATA_DIR > $env_dir/OPENSHIFT_RUBY_PATH_ELEMENT

最后,在 env/ 中,我放置了一个文件 OPENSHIFT_JEKYLL_PATH_ELEMENT.erb,其中包含以下行:

<%= ENV['OPENSHIFT_DATA_DIR'] %>

我最后一次尝试的原因是 cartridge developer's guide :

The PATH variable is set by OpenShift with the base being /etc/openshift/env/PATH. If you provide an OPENSHIFT_{Cartridge-Short-Name}_PATH_ELEMENT, OpenShift will include the value when building the PATH when your scripts are run or an application developer does an interactive log on.

通过 SSH 连接到服务器并检查 echo $PATH 显示环境变量没有变化。我读过 other questions关于 openshift 和设置路径,我要么尝试上面的那些解决方案,要么他们找到一些方法来避免设置路径。

我迷路了……

最佳答案

这可能需要在 Action Hook 中完成在你的申请上。基本上,您会将上述步骤附加到部署脚本,以查看是否可以更改该 $PATH 值。

关于ruby - 使用 Openshift Jekyll Cartridge 添加到 PATH 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26668255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com