作为一个组织,你如何发布和安装私有 npm 包到 GitHub 个包?
How do you publish and install a private npm package to GitHub packages as an organisation?
我们有一个带有名为“@myorganization/common”的共享包的 monorepo,应用程序和 Google 云功能都使用它。
Google 云函数需要将包发布到 repo 才能使用它,因为我们不发布编译代码,它可以包含本地包,而是直接包含原始 TypeScript。
我找到了一些教程,但没有找到结合私有包和组织的用例。
我 cd 进入 packages/common 目录。
我在 packages.json 中添加了以下行:
"publishConfig": { "registry": "https://npm.pkg.github.com/" },
"repository": {
"url": "git@github.myorganization/common.git"
},
我在 GitHub 上创建了一个个人授权令牌,具有完整的回购协议、软件包和组织权限。
然后我登录我的组织:
npm login --registry=https://npm.pkg.github.com --scope=@myorganization
然后我打了:
npm publish
我收到以下错误:
npm ERR! code EPRIVATE
npm ERR! This package has been marked as private
npm ERR! Remove the 'private' field from the package.json to publish it.
我希望这个包只供组织成员使用。当被 React Native 使用时,它应该被用作 lerna monorepo 中的本地私有包,并且被 Google Cloud Function 通过从 GitHub 包中获取它来使用。但其他人将无法访问它。
有可能吗?
此致
编辑:
我尝试更新 packages.json,删除 private=true 并尝试确保将其发布到我的私人组织:
"publishConfig": {
"registry": "https://npm.pkg.github.com/:_authToken=xxxx --scope=@myorganization"
},
我现在得到错误:
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://npm.pkg.github.com/@myorganization%2fcommon - The expected resource was not found.
npm ERR! 404
npm ERR! 404 '@myorganization/common@0.0.7' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
我遇到了完全相同的问题。这是对我有用的。
我必须在 GitHub 上创建 那个 组织(即你的例子中的 myorganization
)和一个同名的回购(即 common
在你的例子中)作为该组织下的回购并且它有效。
我们有一个带有名为“@myorganization/common”的共享包的 monorepo,应用程序和 Google 云功能都使用它。
Google 云函数需要将包发布到 repo 才能使用它,因为我们不发布编译代码,它可以包含本地包,而是直接包含原始 TypeScript。
我找到了一些教程,但没有找到结合私有包和组织的用例。
我 cd 进入 packages/common 目录。
我在 packages.json 中添加了以下行:
"publishConfig": { "registry": "https://npm.pkg.github.com/" },
"repository": {
"url": "git@github.myorganization/common.git"
},
我在 GitHub 上创建了一个个人授权令牌,具有完整的回购协议、软件包和组织权限。
然后我登录我的组织:
npm login --registry=https://npm.pkg.github.com --scope=@myorganization
然后我打了:
npm publish
我收到以下错误:
npm ERR! code EPRIVATE
npm ERR! This package has been marked as private
npm ERR! Remove the 'private' field from the package.json to publish it.
我希望这个包只供组织成员使用。当被 React Native 使用时,它应该被用作 lerna monorepo 中的本地私有包,并且被 Google Cloud Function 通过从 GitHub 包中获取它来使用。但其他人将无法访问它。
有可能吗?
此致
编辑:
我尝试更新 packages.json,删除 private=true 并尝试确保将其发布到我的私人组织:
"publishConfig": {
"registry": "https://npm.pkg.github.com/:_authToken=xxxx --scope=@myorganization"
},
我现在得到错误:
npm ERR! code E404
npm ERR! 404 Not Found - PUT https://npm.pkg.github.com/@myorganization%2fcommon - The expected resource was not found.
npm ERR! 404
npm ERR! 404 '@myorganization/common@0.0.7' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
我遇到了完全相同的问题。这是对我有用的。
我必须在 GitHub 上创建 那个 组织(即你的例子中的 myorganization
)和一个同名的回购(即 common
在你的例子中)作为该组织下的回购并且它有效。