V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
master13
V2EX  ›  问与答

npm 环境如何移植?

  •  
  •   master13 · 2019-03-28 16:56:43 +08:00 · 1049 次点击
    这是一个创建于 2066 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想问问各位老哥有没有这样的SAO操作。甲方要求我们在他们的内部网络做开发,内部网络不能访问互联网,这样的话我想现在有互联网的环境node install一个环境,里面包含了所有会用到的包,然后再把这个整体的拷贝到甲方的隔离网络,请问有没有老哥做过这种操作。

    遇到了很多问题,想请教一下……比如是否要用 --no-bin-links 选项,文件路径过长,bundledDependencies 配置,npm pack 堆空间不足……

    6 条回复    2019-04-03 16:19:40 +08:00
    bestie
        1
    bestie  
       2019-03-28 17:15:00 +08:00
    相同配置直接拷贝过去就能用,其他的就不清楚了
    mscststs
        2
    mscststs  
       2019-03-28 17:19:42 +08:00 via Android
    这样的话就是内网镜像 npm 服务器,应该有类似的项目,可以 fork
    master13
        3
    master13  
    OP
       2019-03-29 08:19:11 +08:00
    @bestie 类 Unix 系统确实可以这样,但是 win 系列操作系统直接拷贝会有路径超长的问题
    master13
        4
    master13  
    OP
       2019-03-29 08:19:55 +08:00
    @mscststs 我看到类似的解决方案,似乎还需要 wget 一下所有的依赖包,然后再拷贝到内网。这样针对一个工程应该是可以的,但是似乎不是一个通用的解决方案
    mscststs
        5
    mscststs  
       2019-03-29 10:19:10 +08:00   ❤️ 1
    @master13 翻了一下,有一个 npm_lazy 的方案,可以建立本地的 npm 缓存,只要手动把所有要用的包请求一次就可以缓存下来。

    大一点的就只能 cnpm 之类的,自建私服,缓存,然后带进内网了
    master13
        6
    master13  
    OP
       2019-04-03 16:19:40 +08:00
    @mscststs 最终用 npm_lazy 的方法解决了,当然还是有很多坑需要踩
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4613 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 107ms · UTC 09:52 · PVG 17:52 · LAX 01:52 · JFK 04:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.