首页 > 解决方案 > 如何将包添加到我的 Lerna 存储库?

问题描述

我是 Lerna 的新手,向create lerna monorepo 学习。

我的回购结构

drwxrwxr-x  8 jholmes jholmes 4096 јан 21 19:40 .git
drwxrwxr-x  3 jholmes jholmes 4096 јан 22 10:14 .history
-rw-rw-r--  1 jholmes jholmes 1133 јан 21 18:38 lerna-debug.log
-rw-rw-r--  1 jholmes jholmes   63 јан 21 18:14 lerna.json
-rw-rw-r--  1 jholmes jholmes   91 јан 21 18:14 package.json
drwxrwxr-x  4 jholmes jholmes 4096 јан 21 19:08 packages

我添加了 myapp(Create-react-app),所以包有两个文件夹 library 和 myapp。当我转到 myapp/package.json 文件并手动添加以下依赖项以使用库包时

"@myrapp/library": "1.0.0",

lerna bootstrap

我有错误

lerna notice cli v3.22.1
lerna info Bootstrapping 2 packages
lerna info Installing external dependencies
lerna ERR! npm install exited 1 in 'myapp'
lerna ERR! npm install stderr:
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/@myrapp%2flibrary - Not found
npm ERR! 404 
npm ERR! 404  '@myrapp/library@1.0.0' is not in the npm registry.

回购结构

.
├── lerna-debug.log
├── lerna.json
├── package.json
└── packages
    ├── library
    │   ├── lib
    │   ├── node_modules
    │   ├── package.json
    │   ├── package-lock.json
    │   ├── README.md
    │   └── __tests__
    └── myapp
        ├── node_modules
        ├── package.json
        ├── public
        ├── README.md
        ├── src
        └── yarn.lock

包树

├── library
│   ├── lib
│   │   └── library.js
│   ├── node_modules
│   ├── package.json
│   ├── package-lock.json
│   ├── README.md
│   └── __tests__
│       └── library.test.js
└── myapp
    ├── package.json
    ├── public
    │   ├── favicon.ico
    │   ├── index.html
    │   ├── logo192.png
    │   ├── logo512.png
    │   ├── manifest.json
    │   └── robots.txt
    ├── README.md
    ├── src
    │   ├── App.css
    │   ├── App.js
    │   ├── App.test.js
    │   ├── components
    │   │   └── button
    │   │       ├── index.js
    │   │       └── index.stories.js
    │   ├── index.css
    │   ├── index.js
    │   ├── logo.svg
    │   ├── reportWebVitals.js
    │   └── setupTests.js
    └── yarn.lock



Lerna.json

    {
      "packages": [
        "packages/*"
      ],
      "version": "0.0.0"
    }

如何通知 myapp 有关库的信息?

标签: javascriptlerna

解决方案


你必须引导你的包:

lerna bootstrap

UPD。确保在以下位置设置正确的库名称和版本packages/library/package.json

{
  "name": "@myrapp/library",
  "version": "1.0.0",
  ...
}

推荐阅读