chenliangngng

ubuntu 的 node_modules 怎么拿到 windows 使用

  •  
  •   chenliangngng · Jul 27, 2024 · 3553 views
    This topic created in 830 days ago, the information mentioned may be changed or developed.

    有一个项目在公司内网有 npm 私有包必须要在公司内网安装依赖,我在 ubuntu 内网 npm install 以后,node_modules 里面会有大量软链接,这些在我拷贝到公网的 windows 电脑会全部失效,如果不使用虚拟机请问有什么办法解决吗

    12 replies  •  2024-07-30 16:32:53 +08:00
    saranz
    saranz
    Jul 27, 2024
    1
    package.json 是干什么用的?
    leegradyllljjjj
    leegradyllljjjj
    Jul 27, 2024❤️3
    2
    复制-粘贴,插上电源静置 2 年后就能用了
    FakerLeung
    FakerLeung
    Jul 27, 2024
    3
    有些包分系统的,windows 不一定都能用
    mdn
    mdn
    Jul 27, 2024
    4
    package.json package-lock.json 文件复制过去安装,最好 nodejs 版本一致
    少部分非 js 包需要区分系统平台,复制过去并不能直接使用
    0o0O0o0O0o
    0o0O0o0O0o
    Jul 27, 2024
    5
    应该是没有通用方案,和软链接无关:
    https://github.com/npm/feedback/discussions/648#discussioncomment-2690230

    跑个 windows 虚拟机吧
    rabbbit
    rabbbit
    Jul 27, 2024
    6
    试一下 Verdaccio ,看看能不能把内网的包下来传上去
    GPLer
    GPLer
    Jul 27, 2024
    7
    1. 方法一,在本地搭建 npm 私服 verdaccio ,上游地址添加公司 npm 私服地址,本地 npm registry 临时设置为 verdaccio 地址,然后安装依赖,verdaccio 会缓存下相关依赖,然后将 verdaccio 复制到出去,后续安装依赖都从 verdaccio 安装即可。
    2. 方法二,ubuntu 搞个 windows 虚拟机,在 windows 虚拟机里安装依赖,然后打包复制,相同系统版本架构应该是能用的。
    另外,建议不要违规操作,内网的东西就不应该搞到公网去。
    uxstone
    uxstone
    Jul 27, 2024
    8
    代码和人有一个能跑就行
    zythum
    zythum
    Jul 27, 2024
    9
    就算软链接搞定了,其他事不一定的。install 的时候会根据系统,node 版本做不同的安装配置,比如有些下载不同的二进制依赖包,有些甚至是现编译的。并且 bin 的安装方式在 windows 下合 linux 下也是不一样的。
    你可以尝试下面几种方式:
    1. 公网使用 windows 的 linux 子系统安装同版本的 node 执行。
    2. 在内网用 windows 并且用同一个版本的 node 去 install , 然后考到公网的 windows 执行。
    3. 在内网的 ubuntu 用 docker 打镜像,把 node_module 都打到镜像里,拷贝镜像,公网 windows 也用 docker 跑。
    qwertooo
    qwertooo
    Jul 27, 2024❤️1
    10
    直接用 docker ,最简单方便的方法
    xuhai951753
    xuhai951753
    Jul 29, 2024
    11
    我想知道如果有 bindings 、wasm 啥的不还是得重下?复制也没用吧。
    bzw875
    bzw875
    Jul 30, 2024
    12
    node_modules 有软连接是因为用 yarn 、pnpm 的安装依赖的原因。
    删除 node_modules 文件夹,使用 npm install 就可以获取一个没有软连接的 node_modules
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1796 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 184ms · UTC 00:02 · PVG 08:02 · LAX 16:02 · JFK 19:02
    ♥ Do have faith in what you're doing.