如何将私有npm包作为组织发布并安装到GitHub包中?

如何将私有npm包作为组织发布并安装到GitHub包中?,npm,google-cloud-functions,lerna,monorepo,github-package-registry,Npm,Google Cloud Functions,Lerna,Monorepo,Github Package Registry,我们有一个名为“@myorganization/common”的共享包的monorepo,应用程序和谷歌云功能都使用它 GoogleCloud函数要求将包发布到repo以使用它,因为我们不发布可包含本地包的编译代码,而是直接发布原始类型脚本 我找到了一些教程,但不适用于结合私有软件包和组织的用例 我将cd放入packages/common目录 我在我的packages.json中添加了以下行: "publishConfig": { "registry":

我们有一个名为“@myorganization/common”的共享包的monorepo,应用程序和谷歌云功能都使用它

GoogleCloud函数要求将包发布到repo以使用它,因为我们不发布可包含本地包的编译代码,而是直接发布原始类型脚本

我找到了一些教程,但不适用于结合私有软件包和组织的用例

我将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
"publishConfig": {
    "registry": "https://npm.pkg.github.com/:_authToken=xxxx --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中的本地私有包使用,并通过从GitHub包获取它,供Google云功能使用。然而,其他任何人都不能访问它

这是可能的吗

问候

编辑:

我尝试更新packages.json,删除private=true并尝试确保将其发布到我的私人组织:

npm login --registry=https://npm.pkg.github.com --scope=@myorganization
"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
),并创建一个与该组织下的repo同名(例如,在您的示例中是
common
)的repo,它起到了作用