Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.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上的rails项目能否在Mac环境中运行,而只需要很少的更改?_Ruby On Rails_Ruby_Macos_Ubuntu_Heroku - Fatal编程技术网

Ruby on rails 一个最初构建在Ubuntu上的rails项目能否在Mac环境中运行,而只需要很少的更改?

Ruby on rails 一个最初构建在Ubuntu上的rails项目能否在Mac环境中运行,而只需要很少的更改?,ruby-on-rails,ruby,macos,ubuntu,heroku,Ruby On Rails,Ruby,Macos,Ubuntu,Heroku,两年以来,我一直在Ubuntu环境下从事rails项目,现在我已经转到Mac。我的另一个队友仍然使用Ubuntu,甚至连prod环境都是Ubuntu。因此,我的问题是,有没有一种方法可以让我在Mac上工作,而不更改Gemfile或任何其他项目配置,这样prod代码和我的队友代码就不会因为我而受到影响?那么heroku如何主持一个从Ubuntu机器和Mac机上推出的项目,因为两台机器上的Gemfile中给出的套接字地址不同,或者我应该在Mac机上使用VM 该应用程序将在任何环境中运行,只要您具有使

两年以来,我一直在Ubuntu环境下从事rails项目,现在我已经转到Mac。我的另一个队友仍然使用Ubuntu,甚至连prod环境都是Ubuntu。因此,我的问题是,有没有一种方法可以让我在Mac上工作,而不更改Gemfile或任何其他项目配置,这样prod代码和我的队友代码就不会因为我而受到影响?那么heroku如何主持一个从Ubuntu机器和Mac机上推出的项目,因为两台机器上的Gemfile中给出的套接字地址不同,或者我应该在Mac机上使用VM

该应用程序将在任何环境中运行,只要您具有使其工作的依赖项

如果您的Mac机上运行了
Ruby
Rails
,则需要获取应用程序的文件,然后尝试使用
bundle
。如果这个包有效,你就可以走了。如果没有,你必须安装它需要的每一个gem,直到它工作为止

这是Windows的一个严重问题——让库/依赖项正常工作可能很棘手。但是,如果系统上存在依赖项,那么无论您使用的是哪个操作系统,它都应该工作

我们使用Windows开发,并在Ubuntu中运行生产应用程序

--

如果要更改
database.yml
文件,则必须使用某种条件逻辑来确定是否在Mac上运行

我不确定您是如何做到这一点的,但这与使用类似的
Rails.env.development?
等类似:

#config/database.yml
def host
   if /darwin/ ~= RUBY_PLATFORM
     # MAC
   elsif /linux/ ~= RUBY_PLATFORM
     # Linux
   end
end

development:
  host: <%= host %>
#config/database.yml
def主机
if/darwin/~=RUBY\u平台
#苹果
elsif/linux/~=RUBY_平台
#Linux
结束
结束
发展:
主持人:

如果我们看到database.yml文件,就可以确定操作系统了。OSX和Ubuntu的套接字值不同,所以每次我从OSX将代码推送到我的产品分支时,我都应该执行git checkout database.yml检查吗?如果在产品中不使用MAC,为什么需要更改产品
database.yml
文件的值?只要更改你的
开发设置
就行了,当然可以了?谢谢Rich,当其他成员使用Ubuntu时,我仍然需要检查开发,如果我推动这一更改,他们的机器将开始出错。是的。有很多方法可以解决这个问题——使用条件设置等。我不确定是否可以调用操作环境,但这会有所帮助。我会写一篇文章,内容丰富。如果你也能帮我的话?我已经尝试运行我的旧代码至少3周或更长时间,但我无法。