创建一个 monorepo 而不托管在包注册表上并通过 bitbucket 安装
creating a monorepo without hosting on a package registry and installing via bitbucket
在我的组织中,我们正在尝试创建一个 React 组件的单一存储库,以便它们可以在多个站点上使用。
我们目前有一个名为 react-components 的 repo 托管在 bitbucket 上,我们想使用 lerna.js 将其设置为 monorepo,因此结构看起来像
packages
package_1
package.json
dist
package_2
package.json
dist
但是我们不在注册表中托管我们的 npm 包,而是在 bitbucket 上并从那里安装它们
所以我希望能够通过 package.json 将每个软件包安装到我们的网站中,例如
"@company_name/react_components/package_1": "git+ssh://git@bitbucket.ds.company_name.com:7999/np/react-components.git#personal/jdaly/testBranch",
但是我不认为你可以在 package.json
所以应该更像
"@company_name/react_components": "git+ssh://git@bitbucket.ds.company_name.com:7999/np/react-components.git#personal/jdaly/testBranch",
并像
一样导入
import package_1 from "@company_name/react_components"
是否可以在不使用包注册表的情况下设置 monorepo 并通过 git link 导入所有 monerepo 包?网上没找到太多资料
我遵循了这个教程https://blog.npmjs.org/post/186494959890/monorepos-and-npm
但是您仍然通过包注册表导入 modules/packages 而不是通过 git link
安装
构建包后,我将它们推送到存储库
在我的网站 package.json 中,我是这样引用它的
"@company_name/react-components": "git+ssh://git@bitbucket.ds.comapany_name.com:7999/np/react-components.git#personal/jdaly/firstCommit",
当我转到 node_modules 时,结构是
node_modules
@company_name
react_components
packages
package_1
package_2
package_3
lerna.json
package.json
什么时候应该
node_modules
@company_name
react_components
package_1
package_2
package_3
感谢任何帮助
尝试以下操作:
npm install git+ssh://git@bitbucket.org/{user}/{repository}.git
来源:
任何偶然发现这个问题的人 - 答案很简单。为了使用 lerna 并创建一个 monorepo 系统,你需要有一个包注册表。这可能是 NPM 或其他产品,例如 https://verdaccio.org/,它本质上是一个您可以在本地使用的包注册表
在我的组织中,我们正在尝试创建一个 React 组件的单一存储库,以便它们可以在多个站点上使用。
我们目前有一个名为 react-components 的 repo 托管在 bitbucket 上,我们想使用 lerna.js 将其设置为 monorepo,因此结构看起来像
packages
package_1
package.json
dist
package_2
package.json
dist
但是我们不在注册表中托管我们的 npm 包,而是在 bitbucket 上并从那里安装它们
所以我希望能够通过 package.json 将每个软件包安装到我们的网站中,例如
"@company_name/react_components/package_1": "git+ssh://git@bitbucket.ds.company_name.com:7999/np/react-components.git#personal/jdaly/testBranch",
但是我不认为你可以在 package.json 所以应该更像
"@company_name/react_components": "git+ssh://git@bitbucket.ds.company_name.com:7999/np/react-components.git#personal/jdaly/testBranch",
并像
一样导入import package_1 from "@company_name/react_components"
是否可以在不使用包注册表的情况下设置 monorepo 并通过 git link 导入所有 monerepo 包?网上没找到太多资料
我遵循了这个教程https://blog.npmjs.org/post/186494959890/monorepos-and-npm 但是您仍然通过包注册表导入 modules/packages 而不是通过 git link
安装构建包后,我将它们推送到存储库 在我的网站 package.json 中,我是这样引用它的
"@company_name/react-components": "git+ssh://git@bitbucket.ds.comapany_name.com:7999/np/react-components.git#personal/jdaly/firstCommit",
当我转到 node_modules 时,结构是
node_modules
@company_name
react_components
packages
package_1
package_2
package_3
lerna.json
package.json
什么时候应该
node_modules
@company_name
react_components
package_1
package_2
package_3
感谢任何帮助
尝试以下操作:
npm install git+ssh://git@bitbucket.org/{user}/{repository}.git
来源:
任何偶然发现这个问题的人 - 答案很简单。为了使用 lerna 并创建一个 monorepo 系统,你需要有一个包注册表。这可能是 NPM 或其他产品,例如 https://verdaccio.org/,它本质上是一个您可以在本地使用的包注册表