【问题标题】:Nodejs and npm module offline installationNodejs和npm模块离线安装
【发布时间】:2017-08-02 09:47:13
【问题描述】:

我在有一些公司代理的公司工作。我能够安装 nodejs,但我根本无法安装任何 npm 模块。我尝试了很多东西,不同的代理设置,但都没有奏效。 Nodejs 根本无法连接到互联网来获取我需要的模块。基本上我试图在这台计算机上设置 Cordova 和 Ionic。

我想知道是否有任何方法可以离线安装它?我的意思是,有什么方法可以将这些文件放入 USB 驱动器或其他东西中然后安装它?

有没有可能?

谢谢大家:)

【问题讨论】:

    标签: node.js cordova ionic-framework


    【解决方案1】:

    是的,您可以使用Yarn 在没有互联网连接的情况下安装软件包。
    例如,全局安装ioniccordova

    1. 在互联网机器上(配置本地缓存位置):

      yarn config set yarn-offline-mirror ~/yarn-offline-mirror/
      
    2. 在离线机器上(配置本地缓存位置):

      yarn config set yarn-offline-mirror ~/yarn-offline-mirror/
      
    3. 在离线机器上,找出全局安装位置在哪里:

      yarn global bin
      

      (或者用yarn config set prefix <file_path>设置)

    4. 在离线机器上,将其添加到您的路径中。例如:

      echo 'export PATH=$PATH:'"$(yarn global bin)" >> ~/.bashrc  
      source ~/.bashrc # reload
      
    5. 在互联网机器上,下载ioniccordova的依赖:

      mkdir new-cli-ionic-cordova/
      cd new-cli-ionic-cordova/
      yarn add ionic cordova
      

      然后将new-cli-ionic-cordova/yarn.lock~/yarn-offline-mirror/复制到离线机器上。 (rm -rf new-cli-ionic-cordova/ 现在可以了。)

    6. 在离线机器上,从本地缓存安装ioniccordova

      cp /path/to/imported/yarn.lock .
      cp -n /path/to/imported/yarn-offline-mirror/* ~/yarn-offline-mirror/
      yarn global add --offline ionic cordova
      rm -f ./yarn.lock
      

    您还可以使用类似的过程将软件包安装为单个项目的依赖项。有关更多信息,请参阅我的帖子:https://assafmo.github.io/2018/04/11/yarn-offline.html

    【讨论】:

    • 对我来说,博文包含正确的步骤,但答案本身没有;也许你更新了博文却忘了回来?您这里没有提到 package.json 文件,我可以确认这是必要的。
    【解决方案2】:

    您可以让 npm 在代理后面工作以解决问题。为此,设置 HTTP_PROXY 和 HTTPS_PROXY 环境变量很重要。

    对于 HTTP_PROXY,您可以使用

    npm config set proxy http://proxy_host:port
    

    对于 HTTPS_PROXY 你可以试试这个

     npm config set https-proxy http://proxy.company.com:8080
    

    【讨论】:

      【解决方案3】:

      首先我会尝试让 npm-config 为您的代理工作。与您的 IT 人员讨论如何连接到 https://www.npmjs.com/package/ 注册表。这些链接可能会有所帮助(以防万一您还没有找到它们):

      也许你可以发布日志输出,有人可以帮助你。

      只有当这失败时,我才会考虑设置一个本地包注册表。可能Sinopia 可以帮助你。但是……:

      • A) 当您的 IT 不允许您通过网络连接到官方注册表时,他们为什么要允许您通过 USB 这样做?
      • B) 这将引入大量工作开销以使您的本地包注册表与官方注册表保持同步。而这项工作显然必须在您的工作场所之外进行。

      还有其他想法吗?

      【讨论】:

      • 我尝试了链接中给出的所有代理配置设置,但没有一个起作用。我相信我们的 IT 团队不会为此烦恼,因为这是我想为自己做的只是一种爱好......可行的。感谢您的上述解决方案。欣赏它
      • 关于问题 A - IT 部门已经推出了激进的内容扫描和阻止功能,这使得从 Internet 安装任何内容都变得不可能,因为代理与内容混淆太多,这是很常见的。因此,IT 本身需要 USB 解决方案来保持公司运行......
      • 您好@576i,您的意思是:您的 IT 不是从具有签名 + 可信证书的来源安装,而是更喜欢从随机 + 难以验证的 USB 设备采购?这不会使整个公司网络处于危险之中吗?
      猜你喜欢
      • 2019-02-18
      • 1970-01-01
      • 1970-01-01
      • 2015-12-26
      • 2013-10-01
      • 1970-01-01
      • 2014-02-25
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多