我正在使用集中构建设置,该设置托管在github上:https://github.com/skybrud/sky-build-setup/tree/master
在npm模块中使用了这个repo,我有以下package.json:
{
"name": "sky-crop",
"version": "1.0.5",
"description": "Vue component for cropping images",
"main": "dist/skycrop.js",
"scripts": {
"vanilla": "rimraf ./node_modules && yarn run dist",
"build": "rimraf ./dist && webpack --config ./webpack.config.js",
"dist": "yarn install && yarn run build"
},
"build": "module",
"author": "Skybrud.dk",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/skybrud/sky-crop.git"
},
"dependencies": {
"sky-window": "^1.0.4"
},
"devDependencies": {
"sky-build-setup": "https://github.com/skybrud/sky-build-setup.git#semver:^1.0.0"
}
}
这是我的问题。运行yarn upgrade-interactive
时,我总是得到以下信息:
出于某种原因,to
部分始终引用exotic
而不是最新。
有人能指出我正在发生的事情吗?
exotic
到底意味着什么?我无法在任何地方找到说明。
答案 0 :(得分:1)
对于不属于npm软件包存储库的依赖项,Yarn无法管理依赖项版本。
在您的情况下,使用github url解析了devDependency sky-build-setup
,其中yarn没有办法知道是否有新版本的依赖项以及如何更新依赖项。在file:
进程中,不属于npm的依赖项(即通过url或exotic
解析的依赖项)被标记为interactive-upgrade
。
另一方面,依赖项sky-window
来自npm,yarn可以评估您是否正在使用最新版本,并最终为您更新。