【问题标题】:Unable to install from forked github repo using npm无法使用 npm 从分叉的 github 存储库安装
【发布时间】:2019-11-21 23:26:55
【问题描述】:

我想在 Github 上 fork React Data Grid repo,进行一些更改并将其安装到我的 react 应用程序中。

我在 repo 的 package.json 中添加了名称、版本和描述属性

我尝试通过以下方式安装它 npm 安装用户名/repo_url#branch

它确实安装并构建了包,但忽略了 node_modules/react-data-grid/packages/*/ 中的 dist 和 lib 文件夹,我无法在我的代码中导入它。

我试过了

1) 在我的应用程序的 .gitignore 中评论 dist

2) 在我的应用程序的 package.json 中添加带有 dist 的 files 属性

没有任何作用。 我做错了什么?

编辑

这是遵循@Derek Nguyen 响应后的堆栈跟踪

npm install piby180/react-data-grid#piby-current

> react-data-grid@1.0.0 postinstall C:\Users\Leo\Documents\Work\demos\myapp\node_modules\react-data-grid
> lerna bootstrap --no-ci && lerna run build

lerna notice cli v3.15.0
lerna info Bootstrapping 2 packages
lerna info Installing external dependencies
lerna info Symlinking packages and binaries
lerna success Bootstrapped 2 packages
lerna notice cli v3.15.0
lerna info Executing command in 2 packages: "npm run build"
lerna ERR! npm run build exited 1 in 'react-data-grid'
lerna ERR! npm run build stdout:

> react-data-grid@7.0.0-alpha.13 build C:\Users\Leo\Documents\Work\demos\myapp\node_modules\react-data-grid\packages\react-data-grid
> tsc

error TS6053: File 'C:/Users/Leo/Documents/Work/demos/myapp/node_modules/react-data-grid/packages/react-data-grid-addons/src/index.ts' not found.

error TS6053: File 'C:/Users/Leo/Documents/Work/demos/myapp/node_modules/react-data-grid/packages/react-data-grid/src/index.ts' not found.


Found 2 errors.


lerna ERR! npm run build stderr:
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! react-data-grid@7.0.0-alpha.13 build: `tsc`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the react-data-grid@7.0.0-alpha.13 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Leo\AppData\Roaming\npm-cache\_logs\2019-07-17T14_35_42_219Z-debug.log

lerna ERR! npm run build exited 1 in 'react-data-grid'
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\jest-haste-map\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! react-data-grid@1.0.0 postinstall: `lerna bootstrap --no-ci && lerna run build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the react-data-grid@1.0.0 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!    

【问题讨论】:

  • 忽略是什么意思,您能否解释一下尝试导入时抛出的错误?
  • 我安装官方包的时候,有一个dist文件夹,里面有react-data-grid.js和react-data-grid.min.js。当我从分叉的 repo 安装时,没有这样的 dist 文件夹。我假设 npm 构建 repo 并以某种方式忽略 dist 文件夹。当我尝试导入它时,它只是说“无法导入 react-data-grid ...”
  • 请分享您的分叉仓库的 url 和您尝试安装的分支。让我在我的电脑上试试。

标签: reactjs npm npm-scripts react-data-grid


【解决方案1】:

包中的“安装后”脚本运行lerna bootstrap。根据the doc,它将执行以下操作:

运行时,此命令将:

  • npm 安装每个包的所有外部依赖项。

  • 将所有相互依赖的 Lerna 包符号链接在一起。

  • npm 在所有引导程序包中运行 prepublish(除非 --ignore-prepublish 已通过)。

  • npm run prepare 在所有引导程序包中。

/packages 中的包没有准备或预发布脚本。您应该能够通过修改根 package.json 的 postinstall 脚本来正确构建子包:

postinstall": "lerna bootstrap --no-ci && lerna run build",

我认为应该正确构建子包。

【讨论】:

  • 感谢您的回答。这是一些进步,但我仍然无法安装它。 Lerna 成功引导了两个包,但是我从 tsc 'File node_modules/react-data-grid/src/index.ts' not found 得到错误; '文件 node_modules/react-data-grid-addons/src/index.ts' 未找到
  • hhhm,我刚刚尝试通过 yarn add https://github.com/piby180/react-data-grid#piby-current 安装你的 fork,遇到了一堆 tsc 编译错误——这意味着 tsc 可以看到索引文件。您可以编辑问题以添加有关新错误的更多详细信息吗?
  • @piby180 你安装这个包的项目,它也是在打字稿环境中吗?不过这可能无关紧要,因为 tsc 应该从最近的 node_modules 调用... hhhm
猜你喜欢
  • 2014-01-18
  • 2015-12-23
  • 2017-09-07
  • 2023-03-25
  • 2015-03-09
  • 2020-04-13
  • 2018-06-25
  • 2021-12-27
  • 2019-08-29
相关资源
最近更新 更多