在我們的 GitHub 組織中,我們有一個用于內部 Node.js 庫的私有存盤庫。我已經設定了一個操作作業流來構建一個包并將其發布到 GPR,每當發布被剪切和標記時。按照此處的檔案,我使用我們的組織名稱確定了包的范圍,并指定了repository和publishConfig值。該package.json檔案庫類似于此:
{
"name": "@org-name/lib-name",
"version": "1.1.1",
"repository": "git://github.com/org-name/lib-name.git",
"publishConfig": {
"registry": "https://npm.pkg.github.com"
},
...
}
我在嘗試使用 Yarn 將庫添加到另一個專案時遇到問題。具體來說,在使用yarn add命令時,我需要指定范圍兩次才能找到庫,但這也會導致進一步的問題(大概是因為第二個“@”符號預期表示版本)。
在消費專案中,我添加了一個.yarnrc檔案,其中包含以下 GPR 條目:
"@org-name:registry" "https:/npm.pkg.github.com"
如果我然后使用該命令yarn add @org-name/lib-name --verbose,我會得到以下資訊:
[1/4] ?? Resolving packages...
verbose 0.645526824 Performing "GET" request to "https://npm.pkg.github.com/@org-name/lib-name".
verbose 1.056449407 Request "https://npm.pkg.github.com/@org-name/lib-name" finished with status code 401.
verbose 1.066291664 Error: Couldn't find package "@org-name/lib-name" on the "npm" registry.
at MessageError.ExtendableBuiltin (/usr/local/Cellar/yarn/1.22.15/libexec/lib/cli.js:721:66)
at new MessageError (/usr/local/Cellar/yarn/1.22.15/libexec/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/usr/local/Cellar/yarn/1.22.15/libexec/lib/cli.js:50864:15)
at Generator.next (<anonymous>)
at step (/usr/local/Cellar/yarn/1.22.15/libexec/lib/cli.js:310:30)
at /usr/local/Cellar/yarn/1.22.15/libexec/lib/cli.js:321:13
at processTicksAndRejections (internal/process/task_queues.js:95:5)
error Couldn't find package "@org-name/lib-name" on the "npm" registry.
然而,如果我使用命令yarn add @org-name/@org-name/lib-name,它似乎找到了一些東西,但仍然無法正常作業:
yarn add v1.22.15
[1/4] ?? Resolving packages...
[2/4] ?? Fetching packages...
[3/4] ?? Linking dependencies...
[4/4] ?? Building fresh packages...
success Saved lockfile.
success Saved 1 new dependency.
info Direct dependencies
└─ @org-name/@1.0.1
info All dependencies
└─ @org-name/@1.0.1
請注意,上面沒有參考實際的庫名稱。這反映了對package.json依賴項的更新,如下所示:
{
...
"dependencies": {
"@babel/core": "^7.16.0",
"@org-name/": "org-name/lib-name",
...
},
...
}
@org-name在 下還添加了一個檔案夾node_modules,其內容與lib-name專案相似。
在這個階段,我已經閱讀并嘗試了一遍又一遍地嘗試相同的事情。我希望有人能指出我在上面的配置中犯的愚蠢的簡單錯誤。誰能建議我可以從這里嘗試的東西?我的期望是簡單地用于yarn add @org-name/lib-name在其他專案中使用該庫。
uj5u.com熱心網友回復:
如果這是一個私有包,您可能會丟失身份驗證令牌。嘗試將其添加到您的 .npmrc 中:
//npm.pkg.github.com/:_authToken=<<YOUR GITHUB PAT>>
@org-name:registry=https://npm.pkg.github.com
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/362268.html
標籤:节点.js github 纱线包 包.json github-package-registry
上一篇:無法讓python腳本輸出圖形?
