尝试在CLI中创建迁移时发生TypeORM错误



我正在尝试使用TypeORM CLI创建迁移。我遵循了他们的指导,但当我运行yarn run typeorm migration:generate时,我得到了错误:

$ typeorm-ts-node-commonjs migration:generate
/usr/bin/env: ‘node --require ts-node/register’: No such file or directory
/usr/bin/env: use -[v]S to pass options in shebang lines
error Command failed with exit code 127.

我的包.json看起来像这样:

{
"name": "server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1",
"watch": "tsc -w",
"start": "node dist/index.js",
"dev": "nodemon dist/index.js",
"start2": "ts-node src/index.ts",
"dev2": "nodemon --exec ts-node src/index.ts",
"typeorm": "typeorm-ts-node-commonjs"
},
"author": "",
"license": "ISC",
"dependencies": {
"apollo-server-express": "^3.6.7",
"class-validator": "^0.13.2",
"cors": "^2.8.5",
"express": "^4.17.3",
"express-graphql": "^0.12.0",
"graphql": "^15.3.0",
"pg": "^8.7.3",
"reflect-metadata": "^0.1.13",
"ts-node": "^10.7.0",
"type-graphql": "^1.1.1",
"typeorm": "^0.3.4"
},
"devDependencies": {
"@types/express": "^4.17.13",
"@types/node": "^17.0.23",
"nodemon": "^2.0.15",
"typescript": "^4.6.3"
}
}

我按照这里的说明安装了cli,解决了这个问题https://orkhan.gitbook.io/typeorm/docs/using-cli#installing-cli

全局安装ts节点npm install -g ts-node

将以下脚本添加到package.json中:"typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js"而不是"typeorm": "typeorm-ts-node-commonjs"

然后创建一个迁移:yarn run typeorm migration:generate -p -d src/data-source.ts src/migrations/<filename without ending>

仅供参考:对于任何面临类似问题的人:我花了一段时间才发现typeorm上的各种文档目前令人困惑和冲突,因为它们刚刚移动到v0.3.0,并不是所有内容都更新了。

您可以尝试使用此版本的脚本"typeorm": "ts-node -r tsconfig-paths/register ./node_modules/typeorm/cli.js"在我的情况下这个工作!

最新更新