我正在尝试在Ubuntu服务器上部署我的应用程序。我安装了Nginx / Phusion Passenger并使用Capistrano部署了我的应用程序,它可以工作(我可以打开URL并查看项目)。我使用RVM,之前只安装了一个版本的Ruby I(ruby 2.0.0p643)。但是,当我转到我的项目文件夹并尝试执行'rails c production'时,我收到以下错误:
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>
我不明白这个错误是什么意思 - 我上传了我的Rails应用程序,它有效,我看到呈现的HTML页面,但这个错误告诉我其他的东西:)。另外,如果我执行'gem list',我会得到以下列表:
*** LOCAL GEMS ***
bigdecimal (1.2.0)
bundler (1.9.9)
bundler-unload (1.0.2)
executable-hooks (1.3.2)
gem-wrappers (1.2.7)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
psych (2.0.0)
rake (0.9.6)
rdoc (4.0.0)
rubygems-bundler (1.4.4)
rvm (1.11.3.9)
test-unit (2.0.0.0)
我在这个列表中没有看到'rails',但正如我在申请之前所说的那样!请告诉我,我做错了什么。提前致谢!
答案 0 :(得分:0)
您需要使用,
bundle exec rails c production
这是因为你正在使用rvm
捆绑命名空间内的gems(生产中的/vendor
内部),这在捆绑上下文之外是不可用的。
注意:强>
Gems可以使用Capistrano(http://paulgoscicki.com/archives/2011/10/tell-bundler-to-install-gems-globally-when-using-capistrano/)
安装在Bundler上下文之外