【问题标题】:npm / yarn package sharing for local projects?本地项目的 npm / yarn 包共享?
【发布时间】:2021-01-18 13:53:52
【问题描述】:

我有一个使用 yarn 的 Typescript 项目,我想与另一个项目共享包。

来自 Java / Maven,看起来这应该很容易,但使用 npm/yarn 就不是直截了当。

我试过了:

  1. yarn link(导致的问题多于解决方案)

  2. 相对路径链接:

    "dependencies": {
     "@myGroup/myProject": "./path/to/other/project", 
      ...
    }
    
  3. yalc

但没有一个对我有用。

在本地项目之间共享包的简单方法是什么?

【问题讨论】:

    标签: typescript npm yarnpkg


    【解决方案1】:
    1. 在您的主项目的 package.json 中,添加一个“工作区”部分和依赖项引用::

      "workspaces": [                                                                 
       "packages/*"                                                                
      ], 
      "dependencies": {
       "@myGroup/myProject": "1.0.0", 
        ...
      }
      
    2. 现在符号链接到您要分享的项目:

      ln -s /path/to/other/project/packages packages/

      其中“/path/to/other/project/packages”包含一个 package.json,其中:

       {                                                                                   
          "name": "@myGroup/myProject",                                                                                                                                   
          "version": "1.0.0",
           ...
       }
      

    这将在您当前的包/子文件夹中创建一个符号链接,指向您要链接到的项目。

    这与yarn link 所做的基本相同,但方式更直接。

    现在是yarn install,应该会找到本地共享包。

    【讨论】:

    • 这也不是跨平台解决方案。
    • @pascalpuetz 我搜索了 SO 上的每个答案,然后用谷歌搜索到死,但没有找到这个答案。关键是现在其他人可以找到答案。
    • @AluanHaddad 是的,不是跨平台的。 macOS/Linux。
    猜你喜欢
    • 2018-07-19
    • 2021-11-15
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    相关资源
    最近更新 更多