我是Rails的新手所以请耐心等待。
目前,在数字远程VM(Ubuntu 14.04)上运行的现有项目(Rails 4.1.6,Ruby 2.1.3)及其与Postgresdb 9.6的连接没有任何问题。我必须将其迁移到新VM。
我已经使用Ubuntu 16.04设置了一个新的vm,安装了完全相同版本的Rails和Ruby。我尝试创建一个测试rails应用程序,它的工作正常。但是,当我尝试将项目从旧服务器部署到这个新服务器时,它给了我错误。
Details:
There was an error while trying to load the gem 'uglifier'.
Gem Load Error is: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
Backtrace for gem load error is:
/usr/local/lib/ruby/gems/2.1.0/gems/execjs-2.7.0/lib/execjs /runtimes.rb:58:in `autodetect'
/usr/local/lib/ruby/gems/2.1.0/gems/execjs-2.7.0/lib/execjs.rb:5:in `<module:ExecJS>'
/usr/local/lib/ruby/gems/2.1.0/gems/execjs-2.7.0/lib/execjs.rb:4:in `<top (required)>'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib /active_support/dependencies.rb:247:in `require'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:247:in `block in require'
/usr/local/lib/ruby/gems/2.1.0/gems/activesupport-4.1.6/lib/active_support/dependencies.rb:232:in `load_dependency'
在互联网上搜索后,大多数人建议在Gemfile中取消注释这一行。
# gem 'therubyracer', platforms: :ruby
这在旧服务器中被注释,然而,我尝试取消注释它并且它返回了不同的错误。
Migrations are pending. To resolve this issue, run: bin/rake db:migrate RAILS_ENV=development
网站连接到同一个数据库,旧的webportal运行正常,但它给了我这个错误。所以我设置了一个新的测试数据库并运行以下命令 -
RAILS_ENV=production bundle exec rake db:create
RAILS_ENV=production bundle exec rake db:setup
RAILS_ENV=production bundle exec rake db:migrate
所有这些命令都已成功执行但由于某种原因,我仍然收到“迁移正在等待.....”错误。
请告知。
答案 0 :(得分:1)
迁移错误似乎认为您应该在development
环境中...但您运行的迁移是production
...因此您的环境设置不正确,或者您需要运行development
的迁移