试图创建一个 sequelize-auto 的分支获取错误:尝试在我的项目中运行命令时找不到模块“./lib/auto”

问题描述

请原谅我的菜鸟问题。我没有打字稿的经验。我需要在任何示例代码中替换我的存储库名称和项目名称

我正在尝试创建 sequlize-auto 的分支,以便我可以修改生成的模型标题输出。也想适配一下,同时生成Vuex ORM模型。

我已将 repo 从 sequelize/sequlize-auto 分叉到我自己的 repo(我的 repo 名称/sequelize-auto),并且我尝试使用 npm 进行安装:

npm install https://github.com/<my repo name>/sequelize-auto/tarball/master

还有:

npm install <my repo name>/sequelize-auto

当我尝试在 PowerShell 中运行命令时:

node_modules\.bin\sequelize-auto -o "./api/models/new" .......

我收到以下错误

node:internal/modules/cjs/loader:928
  throw err;
  ^

Error: Cannot find module './lib/auto'
Require stack:
- D:\projects\<my project name>\node_modules\sequelize-auto\index.js
- D:\projects\<my project name>\node_modules\sequelize-auto\bin\sequelize-auto
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:925:15)
    at Function.Module._load (node:internal/modules/cjs/loader:769:27)
    at Module.require (node:internal/modules/cjs/loader:997:19)
    at require (node:internal/modules/cjs/helpers:92:18)
    at Object.<anonymous> (D:\projects\<my project name>\node_modules\sequelize-auto\index.js:1:18)
    at Module._compile (node:internal/modules/cjs/loader:1108:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
    at Module.load (node:internal/modules/cjs/loader:973:32)
    at Function.Module._load (node:internal/modules/cjs/loader:813:14)
    at Module.require (node:internal/modules/cjs/loader:997:19) {
  code: 'MODULE_NOT_FOUND',requireStack: [
    'D:\\projects\\<my project name>\\node_modules\\sequelize-auto\\index.js','D:\\projects\\<my project name>\\node_modules\\sequelize-auto\\bin\\sequelize-auto'
  ]
}

但是,如果我 npm install sequelize/sequelize-auto 并运行命令,模型生成没有任何问题。

我还尝试使用 package.json 中的脚本 npm run buildnpm run prepack

"scripts": {
    "tsc": "tsc","clean": "rimraf lib && rimraf types && rimraf **/models && rimraf *.tgz","build": "npm run clean && tsc","prepack": "crlf --set=LF bin/sequelize-auto","test": "npm run test-mssql && npm run test-MysqL && npm run test-postgres && npm run test-sqlite","test-postgres": "cross-env DEBUG='sequelize-auto:*' DIALECT=postgres nyc mocha","test-postgres-native": "cross-env DEBUG='sequelize-auto:*' DIALECT=postgres-native nyc mocha","test-MysqL": "cross-env DEBUG='sequelize-auto:*' DIALECT=MysqL nyc mocha","test-sqlite": "cross-env DEBUG='sequelize-auto:*' DIALECT=sqlite nyc mocha","test-mssql": "cross-env DEBUG='sequelize-auto:*' DIALECT=mssql nyc mocha","coveralls": "nyc report --reporter=text-lcov | coveralls"
  },

我也尝试删除 node_modules 文件夹、package-lock.jsonnpm install,但都没有成功。

我是否遗漏了任何构建步骤、错误地将其推送到 github 存储库或错误地使用了 npm install?或者我遗漏的任何其他问题?

任何帮助将不胜感激。提前致谢。

解决方法

我找到了解决方案。只需要从 lib 中删除 .gitignore,以便将转换后的 JavaScript 推送到我的存储库。