Kotlin/Js从自定义注册表添加npm依赖项



我正在用Kotlin/JS和Gradle开发一个应用程序。使用implementation npm("query-string", "7.0.0")命令,我可以很容易地从默认的npm注册表中添加npm依赖项。

但是,我无法从不同的npm注册表(如Github Packages(添加npm依赖项。我想把这个npm依赖项添加到我的项目中。如果没有gradle,我可以只使用命令行和npm install @gitliveapp/firebase-firestore来安装依赖项,但这不适用于gradle-npm命令。我也尝试了implementation npm("@gitliveapp/firebase-firestore", "0.5.4"),但这会产生以下错误:Couldn't find package "@gitliveapp/firebase-firestore@0.5.4" required by "project" on the "npm" registry.

如何使用gradle从不同的注册中心(而不是npm公共注册中心(添加npm依赖项。

build.gradle

plugins {
id 'org.jetbrains.kotlin.js' version '1.5.10'
id 'org.jetbrains.kotlin.plugin.serialization' version '1.5.0'
}
repositories {
mavenCentral()
maven { url 'https://maven.pkg.jetbrains.space/public/p/kotlin/p/kotlin/kotlin-js-wrappers' }
}
dependencies {
testImplementation 'org.jetbrains.kotlin:kotlin-test-js'
implementation group: 'org.jetbrains.kotlin-wrappers', name: 'kotlin-react', version: '17.0.2-pre.212-kotlin-1.5.10'
implementation group: 'org.jetbrains.kotlin-wrappers', name: 'kotlin-react-dom', version: '17.0.2-pre.212-kotlin-1.5.10'
implementation group: 'org.jetbrains.kotlin-wrappers', name: 'kotlin-styled', version: '5.3.0-pre.212-kotlin-1.5.10'
implementation group: 'org.jetbrains.kotlin-wrappers', name: 'kotlin-react-router-dom', version: '5.2.0-pre.212-kotlin-1.5.10'
implementation group: 'org.jetbrains.kotlin-wrappers', name: 'kotlin-css', version: '1.0.0-pre.212-kotlin-1.5.10'
implementation group: 'org.jetbrains.kotlin-wrappers', name: 'kotlin-redux', version: '4.0.5-pre.212-kotlin-1.5.10'
implementation group: 'org.jetbrains.kotlin-wrappers', name: 'kotlin-react-redux', version: '7.2.3-pre.212-kotlin-1.5.10'
implementation 'dev.gitlive:firebase-firestore:1.3.1'
implementation 'dev.gitlive:firebase-auth:1.3.1'
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.1.0"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0'
implementation 'org.kodein.di:kodein-di-js:7.6.0'
implementation npm("query-string", "7.0.0")
implementation npm("firebase", "8.6.8")
implementation npm("@gitliveapp/firebase-firestore", "0.5.4")
}
kotlin {
js(LEGACY) {
binaries.executable()
browser {
commonWebpackConfig {
cssSupport.enabled = true
}
}
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile).all {
kotlinOptions {
freeCompilerArgs += '-Xopt-in=kotlin.RequiresOptIn'
}
}

不幸的是,您现在无法通过gradle完成,请参阅问题。但是您可以在项目根目录中创建文件.npmrc(或.yarnrc(并在此处进行配置(https://docs.npmjs.com/configuring-npm/npmrc.html)

另外请参阅文档:

例如,要为npm包使用自定义注册表,请将以下行添加到项目根目录中名为.yarnrc的文件中:registry "http://my.registry/api/npm/"

最新更新