Rake 不导出 PATH

Rake not exporting PATH

我想要一个 Rake 任务将我的命令行工具的路径导出到 $PATH,所以我的 Rakefile 中有以下行:

task :make_path do
  sh 'export PATH=$HOME/Desktop/folder:$PATH'
end

当直接将该行 export PATH=$HOME/Desktop/folder:$PATH 放入终端时,路径被添加到我的 $PATH 变量中。但是,如果我 运行 rake make_path 什么都没有改变。为什么?

以下任务正确地向我的命令行工具文件添加了执行权限:

task :chmod do
  sh 'chmod +x my_file'
end

在 Rake 任务中使用 sh 时,它会生成 shell 并执行命令。

环境变量的生命周期,PATH 是其中之一,直到 shell 退出。

所以 :make_path 任务产生一个 shell 导出这个变量然后退出。下次生成 shell 时,它不知道对 PATH.

所做的修改

有关解决方法,您可能需要查看 this