2016-11-30 29 views
0

我已經在Artifactory的npm-local repo中發佈了作用域npm包。例如,假設它是package.json中的@ scope/packagename。它在Artifactory上創建的路徑似乎在路徑中有一個額外的@scope:https://artifacts.company.com/artifactory/webapp/#/artifacts/browse/tree/General/npm-local/@scope/packagename/-/@scope/packagename-version.tgzArtifactory作用域npm包在路徑中有額外的「作用域」

這是正確的嗎?發佈有問題嗎?這與另一個問題有關:Installing scoped npm packages from Artifactory。當我嘗試安裝此包時,我剛剛發佈了一個404錯誤,導致我相信路徑中可能存在錯誤?

編輯: 要發佈我的作用域包我編輯.npmrc:

@scope:registry=https://artifacts.company.com/artifactory/api/npm/npm-local/ 
//artifacts.company.com/artifactory/api/npm/npm-local/:_password=Q...... 
//artifacts.company.com/artifactory/api/npm/npm-local/:username=dgriner 
//artifacts.company.com/artifactory/api/npm/npm-local/:[email protected] 
//artifacts.company.com/artifactory/api/npm/npm-local/:always-auth=true 

在我的package.json文件我有以下幾點:

"name": "@scope/packagename", 

我然後跑npm publish,它創建上述路徑。

+1

您能否提供有關如何發佈範圍包的信息? –

+0

@drorb我用發佈信息編輯了我的問題。另請參閱我的其他問題http://stackoverflow.com/questions/40870241/installing-scoped-npm-packages-from-artifactory這就是爲什麼我問這個問題。謝謝您的幫助。 –

回答

1

該路徑似乎是好的,不應該導致解決錯誤。
NPM軟件包的物理位置不影響它正在解決的方式。在解析NPM包時,Artifactory使用包元數據而不是它的路徑(與其他受支持的包管理器(例如依賴存儲庫佈局和工件路徑的Maven)相反)。
正如你所看到的,Artifactory確實有一個用於存儲NPM軟件包的佈局。雖然它不用於分辨率,但它可以用於其他問題,如配置細粒度訪問權限。