【问题标题】:Using Vagrant with npm-linked dependencies将 Vagrant 与 npm 链接的依赖项一起使用
【发布时间】:2013-12-28 00:47:04
【问题描述】:

我正在评估对Vagrant 的开发过程的更改,但我经常开发相互依赖、尚未发布的 Node 模块,它们连接在一起 npm link

由于 Vagrant 没有在来宾机器上共享所有源文件,npm link 创建的符号链接不再足以作为开发这些模块彼此同步的一种手段。一方面,似乎没有任何方法可以让npm link 创建 链接。对于两个,通过以下方式全面共享符号链接目标将无法扩展:

config.vm.synced_folder "/usr/local/share/npm/lib/node_modules", "/usr/lib/node_modules"

现在,问题。以上是否有任何不正确(例如,存在对硬链接的 npm 支持,但我错过了)?人们使用哪些流程来开发相互关联的私有 Node 模块,并通过 Vagrant 完成测试?

编辑:最终,我希望有一个适用于 Mac 和 Windows 的解决方案。另外,为了记录,我不打算暗示链接 Node 模块的难度。我只是想利用 Vagrant 来改进这个不常见的工作流程。

【问题讨论】:

  • 你为什么说使用synced_folder 不会扩展?因为宿主node_modules路径不是相对的?
  • Jeff - 由于每个 synced_folder 需要大量新样板,因此无法扩展。

标签: windows node.js posix npm vagrant


【解决方案1】:

想法:不使用 VM 同步功能,而是使用 VM 中的共享服务来使文件可以从主机操作系统访问。

例如,如果您的 VM 运行 Linux 并且主机操作系统是 Windows,您可以启动 samba 并将其配置为共享相关目录。然后让主机操作系统映射 samba 共享。

如果主机操作系统是 Mac,您可以使用 macfuse 之类的东西通过 SSH 将目录挂载到 VM。

祝你好运!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多