Rob*_*ron 2 ruby capistrano rvm
我正在使用Capistrano部署Rails 3应用程序.我已经在远程服务器(以及本地)上运行RVM,而Bundler正在管理我的所有宝石.这是问题所在:
部署时,Capistrano运行以下命令:
bundle install --gemfile /var/www/releases/20110301225633/Gemfile --path /var/www/shared/bundle --deployment --quiet --without development test
Run Code Online (Sandbox Code Playgroud)
所以,我所有的宝石都在/var/www/shared/bundle,好的.但是,这意味着系统路径中没有安装任何宝石(即,运行不gem list返回任何内容),因此我不能使用任何可能与这些宝石一起提供的bin文件,包括rails命令本身.我能够启动Web服务器(瘦)的唯一方法是手动gem install thin.一旦薄的卷轴,它就可以很好地启动Rails,包括所有必需的宝石.
那么,如何在正在运行的应用程序之外访问这些宝石?我知道我不应该手动安装任何东西来使这个工作,但我不知道我错过了什么.我尝试过运行,rvm-shell '1.9.2@mygemset' -c 'thin start'但是我遇到了与尝试thin start直接从命令行调用相同的错误:bash: thin: command not found即使直接进入bundler的bin目录/var/www/shared/bundle/bundle/ruby/1.9.1/bin来启动瘦也会给我带来同样的错误.
我觉得RVM应该为我照顾这个......也许有一个环境变量我不见了?
谢谢你的帮助!
捆绑背后的想法是,它将安装您项目所需的宝石的本地副本,而不会影响系统范围的宝石.
如果您想要完全访问rails应用程序之外的内容,则需要手动操作gem install.
但是,如果要在项目中为gem运行bin文件(例如,您Gemfile已经gem "thin"在其中并且希望能够thin start为该项目运行),则可以使用bundle exec它并运行捆绑版本:
bundle exec thin start
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1013 次 |
| 最近记录: |