【发布时间】:2026-02-03 01:40:02
【问题描述】:
我知道还有其他关于此的帖子。我已经尝试了我能找到的一切,并且我的生产服务器上仍然存在这个令人讨厌的问题。我使用了本指南(RVM 版本,Ruby 2.2.2,Rails 3.2.22):
https://gorails.com/deploy/ubuntu/14.04
这是一个很棒的指南,让我完成了所有设置。我需要进入数据库以进行无法通过站点的 GUI 进行的更改,并很快发现,Rails 显然没有安装在我的服务器上。
...尽管网站运行良好。
所以我用谷歌搜索了这个问题。我尝试在我的 ~/.bashrc 文件中添加很多东西。没有任何效果。没有。工作。
无论我做什么,当我尝试在生产服务器上打开 Rails 控制台时,我都会得到以下结果:
WARNING:root:could not open file '/etc/apt/sources.list.d/passenger.list'
The program 'rails' can be found in the following packages:
* ruby-railties-3.2
* ruby-railties-4.0
Try: sudo apt-get install <selected package="">
所以在查看了一些帖子和文章之后,我尝试了以下方法:
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
什么都不做。
source ~/.rvm/scripts/rvm
只是在终端和 ~/.bashrc 中什么都不做。
/bin/bash --login
什么都不做。
每次我尝试运行控制台时都会出现相同的消息,我完全不知道现在该做什么。我最后不得不从前一小时备份数据库,将其下载到我的计算机,删除现有的开发数据库,导入新的,进入控制台,进行更改,导出这个新数据库,登录服务器,拉起 psql 以手动断开连接到数据库的任何人,然后删除它,重新创建它并导入我在开发中编辑的那个。
我不会再经历这些了。必须有一种方法可以让 rails 命令正常工作,我不明白上述对其他人有效的修复如何对我无效。
【问题讨论】:
-
你在运行什么命令?
bundle exec rails c? -
导轨 c | RAILS_ENV=生产轨道 c |轨道 c RAILS_ENV=生产 |每次都是相同的消息。当我将 bundle exec 扔在那里时,我得到“请将 test-unit gem 添加到您的 Gemfile:
gem 'test-unit', '~> 3.0'(无法加载此类文件 -- test/unit/testcase)(LoadError)”WTF -
这个错误很有希望;是否有与之关联的堆栈跟踪?确保您已运行
rvm use 2.2.0(根据指南,您的服务器正在运行相同的版本)。 -
所以我将该 gem 添加到 gemfile 中,现在它正在生产中工作。逆天。我仍然必须运行 bundle exec 命令,但是哇。在我为站点创建这个新的 droplet 之前,这从来都不是问题(在此之前它与其他 4 个站点共享一个 droplet)。我已经多次使用控制台,无法通过 GUI 进行快速更新。
标签: ruby-on-rails ruby ruby-on-rails-3 ubuntu