【问题标题】:How to install NPM package under alias or different name如何以别名或其他名称安装 NPM 包
【发布时间】:2019-10-01 17:49:39
【问题描述】:

我怎样才能npm install一个包到不同的目录?

【问题讨论】:

    标签: npm alias npm-install


    【解决方案1】:

    说要安装Case包, 您可以在别名下拥有特定版本:

    npm i case-1.5.3@npm:case@1.5.3
    

    或者只是给它一个不同的名字

    npm i kool@npm:case
    

    如果你想直接编辑 package.json:

    "dependencies": {
      "case-1.5.3": "npm:case@^1.5.3",
      "kool": "npm:case@^1.6.1"
    }
    

    要求():

    let Case = require( 'case-1.5.3' );
    let Kool = require( 'kool' );
    

    Yarn 本来就有这个功能很久了,npm 终于在v6.9.0, Mar 2019 之后得到了。

    如果你想update你的 npm:

    sudo npm i -g npm@latest
    

    【讨论】:

    • 你如何获得特定的依赖项以使用包别名?我正在尝试在现有应用程序中从 Material UI 0.x 升级到 4.x。我需要 0.x 的 React 16.3 和 4.x 的 16.8
    • 是否可以安装具有多个名称的包?
    • 非常感谢您包含 package.json 的语法 - 我遇到的所有其他答案都忽略了这一点。
    【解决方案2】:

    PNPM
    如果想在您的项目中使用两个不同版本的包。可以使用以下命令

    pnpm add <any-alias-name>@npm:package-name
    
    for example 
    
    pnpm add new-lodash@npm:lodash@2
    pnpm add old-lodash@npm:lodash@1
    

    现在我们可以在项目中同时使用 lodash

    const newLodash = require('new-lodash');
    const oldLodash = require('old-lodash');
    

    请注意,它仅适用于 require 而不适用于 ESM 导入语句,即

    import oldLodash from 'old-lodash' // will throw error
    

    【讨论】:

      猜你喜欢
      • 2019-10-30
      • 2015-08-08
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多