Gab*_*jár 35 linux windows virtualization node.js
我对Node.js平台上的web开发感兴趣.我的主机操作系统是Windows 7.设置开发环境的首选方法是什么.直接在主机或基于Linux的虚拟机上运行它?这两种方法有什么优缺点?
如果我使用VM,我是否仍然可以在Windows中运行文本编辑器和Web浏览器(出于性能原因)?
air*_*nix 40
呃从经验,使用 Linux的 泊坞窗.
编辑使用Docker.烘焙依赖项,在运行时挂载项目,仅固定到特定版本的LTS节点.我会在不可运行的项目上采用2GB的docker镜像,导致失去被迫升级到新软件包的日子. - 2018/04/10
但是从过去8年在基于Linux的环境中开发的人,以及在Windows网络环境中使用nodejs开发软件的过去6个月,这里有我的发现,令人震惊或其他......
相当于debians的窗口build-essentials实际上是一个完全不同的庞大的病人名为gui的集合,只有分散在互联网上的安装人员都需要特定的安装顺序.与此相比,sudo apt-get install build-essentials它过于耗费时间并且充满了隐藏的陷阱.
在Windows上开发将允许您使用混合大小写路径名称的坏习惯,除非您的团队要么遵循/强制执行严格的策略,否则这将成为后续问题的滑坡.
虽然windows在路径中支持超过256个字符,但重要的工具却没有.进入左侧阶段:rimraf和robocopy ......呃.
Windows终端糟透了...默认shell也是如此:cmd.exe ...
Powershell的语法太冗长了,而且不是我的口味......安装Cmder有点缓和,但Cmder与cmd.exe接口的唯一方法是将键击复制到运行cmd.exe的隐藏windows终端.(lolwut).使用更模块化的shell(zsh,bash等),Cmder可以更好地工作..更新:我现在使用powershell与pshazz和scoop,这实际上是愉快的使用.
仍然改进了shell和终端的情况,windows的nodejs仍然假设您的环境变量是%OF %%%%WINDOWS %% VARIETY%...而不是$ UNIX $ STYLE.所以你基本上都会使用bower和npm来自cmd.exe ...更多呃.我似乎不再有这个问题了,因为我已经加入了混合cross-env指挥官或者yargs.
你还需要为windows安装python,这不是问题,因为choco存在并让你回到那里.更新:看看boxstarter,将有助于使用食谱自动化您的新机器设置(或者您实际上可以毕业使用ansible或salt).
经验丰富的python,ruby开发人员会告诉你,当你需要重新访问时,旧项目将需要他们的引擎版本(升级到新版本大多不方便或实用,阅读:兔子洞),所以你会想要像rvm和virtualenv这样的东西......
nvm(仅适用于unix系统linux和macosx),因为它是bash脚本的集合.我建议使用ZSH作为你的shell以及Zgen和Tarrasch/zsh-autoenv插件.
nodist在Windows上使用...吧更好的选择,你不需要担心某种autoenv,因为nodist设计处理这个.choco install cmder nodejs python2choco install python2http://scoop.sh,然后用它来安装pshazz.tldr; 使用nvm.除了以下之外的更多原因.
~/.local/share/npm).令人愉快的是,我发现nodejs的windows安装正确(可能不是故意的).node,因此#!/usr/bin/env node默认情况下不会运行nodejs.幸运的是,debian系统有一个简洁的管理工具来控制env二进制发出的内容:update-alternatives.忽略在这里使用符号链接的建议,这只会在稍后以微妙的方式引起问题.$ sudo apt-get install git-core git-flow build-essentials python-dev python-  pip
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash
$ npm config set prefix ~/.local/share/npm
$ nvm install stable
$ nvm alias default stable
引用:
Mar*_*Wan 21
我们有一个系统,通过它我们只使用配置文件,它处理我们所有的问题,如路径差异("c:\blarg"vs "~user/blarg"),作为奖励,让我们控制调试和生产环境之间的差异.
Node.js是跨平台的,所以我们完全让开发人员在各种计算机上工作,这根本不是问题.
这是我在文件存储项目中使用的示例配置文件:
/**
 * All of these are mandatory except for log_level (which defaults to "info", 1) 
 * and log_echo_to_console (which defaults to false)
 */
exports.config = {
    log_level: 0,
    log_file: "/path/to/send.log",
    request_log_file: "/path/to/send_requests.log",
    log_echo_to_console: true,
    port_number: 8088,
    no_notification_emails: true,
    image_url_base: "http://s3.amazonaws.com/",      // MAKE SURE THIS ENDS IN "/"
    tmp_file_folder:"/tmp/",
    s3_info: {
        key: 'xxxxxx',
        secret: 'yyyyy',
        file_bucket: 'sendtransfer/',
    },
    backend_info: {
        db_info: {
            server: "localhost",
            user: "db_user",
            password: "secret",
            database: "SendRemote",
            pooled_connections: 125,
            idle_timeout_millis: 30000
        },
        memcache_info: {
            host: "127.0.0.1",
            port: "31111",
            pooled_connections: 200,
            timeout: 20000
        }
    },
    debug_server: true
};
对于Windows机器,只需更改路径即可.都很好!
然后在代码中,您只需键入:
var local = require('local.config.js');
fs.writeFile(local.config.log_file);
// etc
拥抱多元文化!
我也在Windows 7上使用Virtualbox和Linux(debian)客户,我推荐它,因为我自己更快地在命令行中做一些事情然后在Windows中点击arround.
另一个不错的功能是,如果您将VM放在USB记忆棒上,您可以随身携带并在安装Virtualbox Host的任何地方使用它,这样您就可以随身携带整个开发环境.
在Windows中使用您喜欢的文本编辑器或浏览器完全没问题,只需安装samba并将您的主目录安装到Windows中即可.您的浏览器也是如此,因为VM只是您局域网中的另一台机器,而不是将您的浏览器指向localhost,将其指向VM Ip,您就可以了.
这里显而易见的是,如果你没有任何Linux经验,你应该坚持使用Windows,因为它需要你花一些时间才能进入它.
| 归档时间: | 
 | 
| 查看次数: | 36401 次 | 
| 最近记录: |