gpt4 book ai didi

ruby-on-rails - "rails s"和 "bundle exec rails s"有什么区别?

转载 作者:数据小太阳 更新时间:2023-10-29 06:28:06 24 4
gpt4 key购买 nike

rails sbundle exec rails s 有什么区别?人们似乎说 bundle exec rails s 更好,但为什么呢?同时this postrails s 更好。

这是什么?

最佳答案

有时,当您安装一个 gem 时,它也会附带一个可执行文件/二进制文件。这些示例包括:railsrakerspecpry 等。但是,当您有多个版本时安装的 gem 之后,您将拥有这些可执行文件的多个版本。因此,如果您想为给定的 Rails 应用程序执行这些二进制文件之一,您可能需要明确您想要的可执行文件的歧义——例如,rake v10.1 的那个或 rake v10.2 的那个。由于这个问题的答案可以通过 Gemfile.lock 文件(由 bu​​ndler 创建)中的 gem 版本发现,bundler 提供了一个命令,用于根据当前项目的 Gemfile 中指定的版本执行二进制文件。锁。这个命令是bundle exec <command> .

因此对于大多数命令,您需要运行 bundle exec <command>以确保您为项目运行正确的版本(并确保所有依赖项也从 Gemfile.lock 中指定的正确版本加载)。此规则的一个臭名昭著的异常(exception)是 rails命令。原因是第一件事 rails命令的作用是加载 bundler 并检查要执行的命令版本。因此,在运行 rails 命令时,您实际上只是在放慢自己的速度以首先涉及 bundle 程序。

所以,简而言之,使用:

rails server
rails console
bundle exec <some command that isn't rails>

关于ruby-on-rails - "rails s"和 "bundle exec rails s"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23846493/

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