gpt4 book ai didi

ruby-on-rails - 我的 rails ./bin 目录中有什么?

转载 作者:行者123 更新时间:2023-12-03 12:35:47 27 4
gpt4 key购买 nike

Ruby on Rails 4 引入* ./bin目录。内部 ./bin是一些可执行文件:bundle , rails , rake , setup , spring .

我的问题是:

  • 这些可执行文件有什么作用?它们为什么存在?
  • 他们什么时候被调用?
  • 我可以编辑它们吗?我为什么要编辑它们?

  • 我已经阅读了这些文件的来源,并试图用谷歌搜索它们的目的,但我无法理解它。我正在寻找深入的解释。

    *我相信许多这些文件在 Rails 4 之前就存在,只是在不同的位置。

    最佳答案

    Rails 4 中引入的 ./bin目录包含您的应用程序的“binstubs”。 Binstubs 是 gem 可执行文件的包装器,例如 railsbundle ,这可确保 gem 可执行文件在正确的 Rails 应用程序环境中运行。

    Binstubs 可以用来代替 bundle exec在您的应用程序环境中运行 gem 的可执行文件。例如,不要输入 bundle exec rails scaffold products您可以输入 bin/rails scaffold products .使用 binstubs 比 bundle exec 更灵活,因为您不必cd到应用程序的根目录并输入 bundle exec在一切之前。

    默认情况下,bundle , rails , rake , setup , spring binstubs 是为新的 rails 项目自动创建的。要为 gem 可执行文件创建 binstub,只需键入 bundle binstubs name_of_gem_executable .您会在 ./bin 中找到新的 binstub目录。

    有人建议放 ./bin在你的 shell 中搜索 $PATH ,这样您就不必输入 bin/rails你可以输入 rails .这是有风险的,因为它取决于 ./bin出现在 $PATH 中 gem 可执行文件的路径之前;如果您碰巧忘记了这个顺序并进行调整 $PATH这样在 binstub 包装器之前找到 gem 的可执行文件,您可以轻松调用 gem 的可执行文件——没有环境借口——而不会意识到它。

    关于ruby-on-rails - 我的 rails ./bin 目录中有什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27584045/

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