Rails 5.2 无法使用 Sublime Text 打开 Rails 凭据

Posted

技术标签:

【中文标题】Rails 5.2 无法使用 Sublime Text 打开 Rails 凭据【英文标题】:Rails 5.2 Can't open rails credentials with Sublime Text 【发布时间】:2018-12-04 12:21:23 【问题描述】:

我正在使用带有 Rails 5.2 和 Sublime Text 3 的 Linux 的 Windows 子系统。 当我这样做时

EDITOR="subl --wait" rails 凭据:编辑

它显示“新凭据已加密并保存”。但不会打开要使用 Sublime Text 3 编辑的文件。 同样在使用

尝试 Visual Studio Code 时

EDITOR="code --wait" rails credentials:edit

Visual Studio Code 会打开,但它是空的。

我只能用 vim 和命令编辑文件 EDITOR="vim" rails 凭据:编辑

问题是我不想用 vim 编辑文件。 是什么问题导致它无法打开要使用 Sublime 或 VS Code 编辑的文件?

我正在使用 Rails 5.2

提前非常感谢

【问题讨论】:

【参考方案1】:

在 macOS 上,您将运行此命令来编辑 Sublime 中的凭据。完成后,在 Sublime 中保存并关闭文件:

EDITOR="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl -w" bin/rails credentials:edit

【讨论】:

【参考方案2】:

我在 Windows 7x64 上,今天早上偶然发现了这个问题。通过将 atom 添加到我的系统变量 Path(所以 cmd & powershell & bash 都知道它)并将 powershell 添加到我的环境中来解决它。我使用单独的环境用于红宝石和导轨。

所以现在当我在 cmd 中输入 set EDITOR=atom --wait && rails credentials:edit

第一个$env:EDITOR="atom --wait",第二个rails credentials:edit在powershell中或

EDITOR="atom --wait" rails credentials:edit 在 bash 中,

我得到了想要的结果,即打开凭据并编辑它们 :).. 希望这会有所帮助

附言。将编辑器设置为 subl 或记事本时,我不需要使用 --wait 标志! EDITOR 只是当前会话的一个临时变量,意味着当前打开的 cmd、powershell 或 bash 窗口!

【讨论】:

【参考方案3】:

默认情况下,Sublime Text Editor 未配置为直接从命令行运行。您正在尝试将 EDITOR 变量设置为“subl --wait”,但命令行不知道“subl”是什么!试试这篇文章,它详细介绍了在命令行上设置“subl”别名来启动 sublime,然后再试一次!

Open Sublime Text from Terminal in macOS

编辑:注意到您使用的是 Ubuntu 而不是 MacOS,但只要您使用的是 bash(这是 Ubuntu 上的默认 shell),该帖子应该仍然有效。

【讨论】:

我确实在终端中配置了 subl 命令,所以当我输入 subl 时,它会打开 Sublime Text 3。Atom、记事本、写字板也会发生与 sublime 相同的事情 注意到您的 VS 代码示例中有一个错字,您需要在 code--wait 之间留一个空格,而不是普通的 sublime 用户,但我确实让它像这样与 Atom 一起使用:@987654324 @ 我复制了代码——等待错误。我正在使用代码运行它--wait。当我尝试使用 Atom 运行它时,我得到与 VS Code(空文件)相同的行为 是否可以从终端打开Atom/Code,即atom .code .打开当前目录? 是的,我可以从终端打开 Atom/Code 到当前目录。【参考方案4】:

我已经成功了

 SET EDITOR="full_path to sublime"
 rails credentials:edit

只有在关闭 sublime 后,我才得到新的凭据保存响应。

希望对你有帮助

【讨论】:

以上是关于Rails 5.2 无法使用 Sublime Text 打开 Rails 凭据的主要内容,如果未能解决你的问题,请参考以下文章

Rails:无法将图像解析为 URL:to_model 委托给附件,但附件为零 Rails 5.2

将 Rails 5.2 升级到 6.0.0 后内存泄漏

在 Rails 5.2 中禁用活动存储

在 Postgresql 中使用 UUID 的 Rails 5.2 活动存储

Rails 5.2 MiniMagick::Error 使用具有比率和活动存储的图像变体时

带有 master.key 的 Rails 5.2 - Heroku 部署