ruby-on-rails - Bundler 正在弃用捆绑控制台以支持 bin/console。谁能更清楚地说明 bin/console 应该如何工作?
问题描述
我有一个严重依赖于bundle console
. 没有什么特别或花哨的,只是一个包含由 Gemfile 定义的一组 gem 的交互式控制台。我们在开发过程中经常使用控制台。
目前,当我运行命令时,我收到以下弃用消息:
[已弃用] 捆绑控制台将替换为
bin/console
生成的bundle gem <name>
在捆绑器文档中挖掘我发现了以下解释:
- 将
bundle console
被删除并替换为bin/console
。随着时间的推移,我们发现
bundle console
很难维护,因为每个用户都希望为其添加自己的特定调整。为了简化维护并减少自行车脱落讨论,我们正在删除该bundle console
命令,转而支持bin/console
由 on gem generation 创建的脚本bundle gem
,用户可以根据自己的需要进行调整。
有知识的人可以提供更详细的解释吗?该 gem 当前没有bin
目录。我很高兴制作一个,我只是不确定文件中应该包含什么。bundle gem
按照上述说明运行会引发错误(如预期的那样)。
解决方案
这是在以下位置生成的文件bin/console
:
#!/usr/bin/env ruby
require "bundler/setup"
require "(your gem name here)"
# You can add fixtures and/or initialization code here to make experimenting
# with your gem easier. You can also use a different console, if you like.
# (If you use this, don't forget to add pry to your Gemfile!)
# require "pry"
# Pry.start
require "irb"
IRB.start(__FILE__)
您可以在 rubygems GitHub 存储库中查看该模板。
推荐阅读
- cocoa - NSOutlineView 检测子项何时折叠
- java - Spring Cloud Stream 多主题事务管理
- javascript - 如何使用 Javascript 有效地确定 HTML 文档中兄弟元素的相对顺序
- aws-lambda - 无法通过用户凭据访问 api 网关
- angular - 所有观察到的 NGXS 选择器是否都会在任何状态更改时执行?
- javascript - 在等待中使用外部函数并使用回调
- android - 如何在 5 分钟后停止通知 FLAG_INSISTENT?
- sql-server - MVC 项目中的 Rdlc 报告能够切换数据库
- c# - 用于员工树形视图的 JSON
- dart - 飞镖传播运算符说“如果它不为空,请将其放入列表中”