【问题标题】:yarn: how to install scoped package from github branchyarn:如何从 github 分支安装作用域包
【发布时间】:2017-07-25 13:07:47
【问题描述】:

我想安装@nuxtjs/axios,但是from my fork

网址 - https://github.com/BjornMelgaard/modules

分支 - axios_vue_overlap_fix

包名 - @nuxtjs/axios

我应该使用什么命令?

【问题讨论】:

  • 你为什么有yarn标签?你想专门使用yarn CLI吗?
  • 一般是的,我希望他们的命令是相似的
  • 请说清楚你的意图,否则就是重复:stackoverflow.com/q/17509669/1233251
  • @E_net4 我也认为这可能是一个骗局,但我想研究从 GitHub 安装 scoped 包的潜在差异。事实证明,实际上并没有,但您仍然需要为这个特定项目跳过几圈。
  • 我还将这两个标签的包含解释为“我将接受任何一个答案”,所以我只提供了一个npm 解决方案。也许无论如何它都会有所帮助。

标签: yarnpkg


【解决方案1】:

编辑:这个问题最初有npmyarn 标签。我会留下这个,以防其他人觉得它有用。

据我了解,npm 将 GitHub 包映射到存储库根目录。 由于 nuxtjs“模块”存储库似乎是一堆很大程度上独立的包,您可能需要跳过一些篮球。

我是这样工作的。

安装你的整个fork,注意git+https 语法,以及repo URL 后面的分支标识符#

npm install git+https://git@github.com/BjornMelgaard/modules#axios_vue_overlap_fix

然后是npm installaxios模块的依赖(因为repo结构,npm不会为你做这个):

cd node_modules/@nuxtjs/modules/modules/axios && npm install

并且像这样要求它:

const axios = require('@nuxtjs/modules/modules/axios')

【讨论】:

  • 很遗憾我无法在不更改项目代码的情况下安装作用域包
  • @bjornmelgaard 你的意思是你需要额外的步骤吗?这不是因为它的范围我认为。这是因为该模块作为子文件夹存在于更大的存储库中,而不是作为其自己的存储库。没有要求范围内的包都存在于同一个 repo 下,但 nuxt 团队可能更容易管理这种方式。
  • 是的,但是我单独安装软件包(仅在 package.json 中安装 @nuxtjs/axios,而不是整个 @nuxtjs/modules),并且按照您的方法,我必须安装所有 @nuxtjs/modules,然后选择我需要,通过更改项目代码
  • @bjornmelgaard 是的,这是因为 nuxtjs 存储库的结构。如果他们为每个模块创建了单独的存储库,您就不需要这样做。这就是npm 的工作原理。但是,yarn 可能会有所不同。
  • 为什么 npm/yarn 不能只接受模块的 package.json 的路径并自己找出所有其他的东西?
猜你喜欢
  • 2019-07-31
  • 2017-09-10
  • 2011-02-18
  • 2020-02-14
  • 2022-11-02
  • 2014-12-29
  • 2021-01-15
  • 2017-02-05
  • 2017-02-21
相关资源
最近更新 更多