gpt4 book ai didi

ruby-on-rails - 部署到服务器后访问 Rails 控制台

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

我在生产环境中无法访问 Rails 控制台。

我使用 Capistrano 将应用程序部署到 VPS

如果我 cd 到 deploy@myapp:~/myapp/current$ 并运行 bundle exec rails c 我总能得到创建新 rails 项目的选项列表,像 rails new

我还尝试了 bundle exec rails console --productionrails console 等等,结果都一样。

问题是我必须能够访问控制台,因为我必须为 active admin 创建一个管理员用户

可能值得补充一点,我在 Ubuntu 16 上使用 Passenger/Capistrano 和 Nginx

有人知道这是怎么回事吗?我做错了什么吗?

*编辑

运行 RAILS_ENV=production bundle exec rails c 后,我收到此消息

 Looks like your app's ./bin/rails is a stub that was generated by Bundler.

In Rails 4, your app's bin/ directory contains executables that are versioned
like any other source code, rather than stubs that are generated on demand.

Here's how to upgrade:

bundle config --delete bin # Turn off Bundler's stub generator
rake rails:update:bin # Use the new Rails 4 executables
git add bin # Add bin/ to source control

You may need to remove bin/ from your .gitignore as well.

When you install a gem whose executable you want to use in your app,
generate it and add it to source control:

bundle binstubs some-gem-name
git add bin/new-executable

Loading production environment (Rails 4.2.5)
irb(main):001:0>

最佳答案

您缺少 bin 的可执行文件Capistrano 部署后 Production 中的文件夹。

您需要删除 bin来自 set :linked_dirs来自你的 Capistrano deploy.rb为了避免对其进行符号链接(symbolic link)。

你可以再试试cap production deploy , 它会从 bin 获取所有可执行文件投入生产。

现在,您可以使用以下方式访问 Rails 控制台:

RAILS_ENV=production bundle exec rails c

关于ruby-on-rails - 部署到服务器后访问 Rails 控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39752623/

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