Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在ubuntu上部署RubyonRails更容易的方法_Ruby On Rails_Ruby_Heroku - Fatal编程技术网

Ruby on rails 在ubuntu上部署RubyonRails更容易的方法

Ruby on rails 在ubuntu上部署RubyonRails更容易的方法,ruby-on-rails,ruby,heroku,Ruby On Rails,Ruby,Heroku,与朋友在RoR的项目中合作。我们已经在heroku和我们的两台本地机器上部署了我们的应用程序,之前我们做了大量的工作,将所有内容设置为在不同的机器上运行。有没有一种更为无痛的方法来处理这一问题?我觉得我们会一次又一次地遇到这种情况 我有几个想法: 1.)在专用服务器上设置应用程序,并直接在服务器上(通过ssh)进行所有开发。这是一种常见的方法吗 2.)将应用程序设置为完全独立。i、 e.直接从应用程序文件夹中运行所有东西,包括ruby、rails和我们需要的所有gems。如果您需要的所有东西都在

与朋友在RoR的项目中合作。我们已经在heroku和我们的两台本地机器上部署了我们的应用程序,之前我们做了大量的工作,将所有内容设置为在不同的机器上运行。有没有一种更为无痛的方法来处理这一问题?我觉得我们会一次又一次地遇到这种情况

我有几个想法:

1.)在专用服务器上设置应用程序,并直接在服务器上(通过ssh)进行所有开发。这是一种常见的方法吗

2.)将应用程序设置为完全独立。i、 e.直接从应用程序文件夹中运行所有东西,包括ruby、rails和我们需要的所有gems。如果您需要的所有东西都在项目目录中,那么您似乎可以避免应用程序在一台机器上工作而在其他机器上工作的问题,因为ruby版本/gem版本稍有不同

3.)克隆我的硬盘并发送给我的朋友,以便我们从完全相同的设置开始。有没有办法复制整个磁盘分区(运行ubuntu)的内容,然后安装到其他人的计算机上,这样他们就可以从启动时运行操作系统?尽管我们都在运行ubuntu,但我们发现在我的机器上运行的很多东西在他的机器上都不起作用,反之亦然。很奇怪

是使用最广泛的部署工具,允许您通过SSH进行部署

此外,您可能还想看看Bundler如何管理gem和依赖项(http://gembundler.com/),这将使您在不同的机器上运行时的生活更加轻松

<>你应该考虑使用RVM(https://rvm.io/)或rbenv(https://github.com/sstephenson/rbenv/)进一步标准化您的环境,以包含特定的ruby版本


请注意,您还可以使用RVM创建“gemeset”,这实际上是为一组gems创建一个沙盒,以将它们隔离到特定的项目。

对于#3,请使用VM。对于本地运行,rvm处理ruby/gem的差异。不将ruby版本和RubyGems版本列为依赖项是愚蠢的。