• 请不要在回答技术问题时复制粘贴 AI 生成的内容
John2EX
V2EX  ›  程序员

请教各位大大, OSX 代码可以部署到 ubuntu 上吗

  •  
  •   John2EX · Apr 2, 2015 · 4565 views
    This topic created in 4092 days ago, the information mentioned may be changed or developed.

    想搭个网站,初步打算nodejs+express+mongodb/mysql
    目前VPS在美帝,系统ubuntu14.04,ssh过去延迟基本不能忍受,所以想先在本机(OSX10.10)搭好环境写好代码然后部署到VPS上,这个可以实现吗

    33 replies    2015-04-03 17:28:06 +08:00
    Twinkle
        1
    Twinkle  
       Apr 2, 2015
    当然可以...
    John2EX
        2
    John2EX  
    OP
       Apr 2, 2015
    @Twinkle 要怎么做呢,包括整个环境配置什么的都可以吗
    582033
        3
    582033  
       Apr 2, 2015
    @John2EX 张口就问'要怎么做呢'不如直接google,没别的意思,提示一下而已.
    John2EX
        4
    John2EX  
    OP
       Apr 2, 2015
    @582033 我知道,就是没google到,所以才来这里想找点提示,也不是说具体怎么做吧,就是可能用哪些工具之类的,一个大致的方向而已
    582033
        5
    582033  
       Apr 2, 2015
    mac上有brew ubuntu下有aptitude/apt-get;

    如要要编译也可以,基本没什么区别,都是unix like.
    Pastsong
        6
    Pastsong  
       Apr 2, 2015
    其实你可以试下docker
    iloveayu
        7
    iloveayu  
       Apr 2, 2015
    只需在Linux下安装nodejs和mongodb/mysql就可以了啊,这些项目的官网不会只提供OS X下的引导的。。。
    padthai
        8
    padthai  
       Apr 2, 2015
    vagrantosx上模拟ubuntu环境
    https://www.vagrantup.com/downloads.html
    iwege
        9
    iwege  
       Apr 2, 2015
    nodejs 的安装可能相对麻烦一点,官方的那个比较老的。

    然后node_module 建议在ubuntu那边npm install , 因为如果用到native module的话是需要在ubuntu这边编译一下才行,不能直接从mac os x 拷贝。

    其他的就是两边code sync(一般用git 但是不同步node_modules) ,操作上没有区别。mac 上面怎么做ubuntu就怎么做好了。


    另外还有两点注意:
    1. mac上一般是不区分大小写的,但是linux一般是区分的。所以这一块需要自己测试。
    2. 如果用了shell的一些命令,这个部分需要在linux上测试一下,基本上是通用的,但是不排除兼容性问题。
    John2EX
        10
    John2EX  
    OP
       Apr 2, 2015
    @Pastsong 大概看了下Docker的概念,应该是可以把整个开发环境扔一个容器里,不用在不同的机器分别配置各种环境了,要的就是这个。。
    John2EX
        11
    John2EX  
    OP
       Apr 2, 2015
    @iloveayu 配置这些东西可能本身就挺麻烦,还得搞两套,想想就蛋疼啊
    Agromania
        12
    Agromania  
       Apr 2, 2015
    刚上手的话建议先用Vagrant,之后再慢慢研究Docker
    jarlyyn
        13
    jarlyyn  
       Apr 2, 2015
    不能直接部署。

    很多模块会通过node-gyp根据系统环境编译。

    另外docker不能直接在mac下使用,需要配合虚拟机跑linux。

    如果想要直接部署到服务器环境上。推荐换linux开发测试。至少要用虚拟机。
    John2EX
        14
    John2EX  
    OP
       Apr 2, 2015
    @padthai 看了网上很多VAGRANT和Docker的比较,看来两者是相似的,晚上回去研究下,谢谢
    Pastsong
        15
    Pastsong  
       Apr 2, 2015
    @jarlyyn mac 有 boot2docker 啊, 虽然是用 virtualbox 实现的, 但是开发环境可以不用太在乎性能
    janxin
        16
    janxin  
       Apr 2, 2015
    只是代码的话,nodejs这部分无所谓吧,不过前提是还得装nodejs跟数据库
    John2EX
        17
    John2EX  
    OP
       Apr 2, 2015
    @iwege 嗯,是有点差异,所以分开来做是有点小麻烦。。
    John2EX
        18
    John2EX  
    OP
       Apr 2, 2015
    @janxin 对,nodejs本身跨平台没啥问题,原谅我标题的误导,主要是环境吧
    qxzw
        19
    qxzw  
       Apr 2, 2015
    vagrant+virtualbox
    padthai
        20
    padthai  
       Apr 2, 2015
    200买个树莓做开发环境也是个方案

    这个可以团队协作
    padthai
        21
    padthai  
       Apr 2, 2015
    @John2EX

    docker生产环境可以用
    vagrant是开发专用
    jarlyyn
        22
    jarlyyn  
       Apr 2, 2015
    另外,

    我自己有macosX,虽然不用。
    我自己本机是linux环境。
    我有若干个nodejs项目。
    我有若干台服务器,包括 debian 6,7,centos 5,6,7
    我正在弄自己公司的docker环境。


    我的建议是使用虚拟机/真机系统,装docker,然后部署到vps上。

    信不信我随你了。
    jarlyyn
        23
    jarlyyn  
       Apr 2, 2015
    瞎说什么nodejs和环境没关系……
    如果是php倒才可能是真没问题,虽然我也踩过坑。

    nodejs在npm装是会牵涉到make的好不。

    先不论在各个环境下库的表现是否一致。

    生产环境必然是部署和测试环境一致的软件版本,而非最新的吧。

    至少升级库的版本后的话会需要跑一遍单元测试吧?
    learnshare
        24
    learnshare  
       Apr 2, 2015
    都是跨平台的运行环境,放到 Windows 上跑都行。

    怎么做?看官方文档。
    John2EX
        25
    John2EX  
    OP
       Apr 2, 2015
    @qxzw @jarlyyn @padthai @learnshare 谢谢各位,晚上回去研究下Docker和vagrant
    zonyitoo
        26
    zonyitoo  
       Apr 2, 2015
    `nodejs+express+mongodb/mysql` 这几个都是跨平台的,我看不出这有什么是Google不到的,应该不会有问题。
    7anshuai
        27
    7anshuai  
       Apr 2, 2015
    @John2EX 如果是新手,为了搭一个Node.js的网站,而去研究Docker和Vagrant。
    这样舍本逐末真的好吗?
    LeoQ
        28
    LeoQ  
       Apr 2, 2015
    虚拟机就不错吧, virtualBox什么的
    Viztor
        29
    Viztor  
       Apr 2, 2015
    vagrant
    Ghoul2005
        30
    Ghoul2005  
       Apr 2, 2015
    人家就是想部署个代码而已,楼上一堆人搞这么复杂干甚,直接scp或rsync就可以了,速度慢不是问题。
    thinker3
        31
    thinker3  
       Apr 2, 2015
    blue7wings
        32
    blue7wings  
       Apr 3, 2015
    同强烈推荐vagrant...根本不用担心平台的问题....
    John2EX
        33
    John2EX  
    OP
       Apr 3, 2015
    vagrant确实是个很好的方案,谢谢大家!
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4716 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 05:37 · PVG 13:37 · LAX 22:37 · JFK 01:37
    ♥ Do have faith in what you're doing.