'ts-node'가 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않습니다.
Vs Code 터미널 및 명령 프롬프트에서 'ts-node'가 내부 또는 외부 명령, 작동 가능한 프로그램 또는 배치 파일로 인식되지 않는다는 오류가 발생합니다.터미널 npm run dev에서 start 명령을 시도하는 동안 패키지를 추가했습니다.json 파일도 있습니다.
{
"name": "tsnode",
"version": "1.0.0",
"description": "ts-node experiment.",
"scripts": {
"dev": "nodemon --exec 'ts-node --cache-directory .tscache' ./server.ts",
"start": "ts-node --fast ./server.ts"
},
"author": "Mugesh",
"license": "ISC",
"dependencies": {
"@types/body-parser": "^1.16.3",
"@types/chalk": "^0.4.31",
"@types/express": "^4.0.35",
"@types/node": "^7.0.18",
"body-parser": "^1.17.1",
"chalk": "^1.1.3",
"express": "^4.15.2",
"nodemon": "^1.11.0",
"ts-node": "^3.0.4",
"typescript": "^2.3.4"
}
}
ts-node를 글로벌로 설치해야 합니다.
npm install -g ts-node
더 많은 정보
https://github.com/TypeStrong/ts-node
업데이트 2023
npm > 5.2.0 버전을 설치한 경우 npx가 자동으로 설치됩니다.
npx ts-node src/seeds/initPermission.ts
또는 패키지에 스크립트를 추가할 수도 있습니다.json
"seed:init": "ts-node ./src/seeds/init.ts"
빌드 후 생산 중
"seed:prod": "NODE_ENV=production node ./build/src/seeds/init.js"
앤드 런npm run seed:init
전 세계적으로 설치된 시스템에 의존하는 것을 권장하지 않습니다.ts-node
여기에 있는 몇몇 답변들이 제시하는 것처럼 당신 자신의 모듈에서.
그러면 모듈을 설치하는 사람은 누구나 설치해야 합니다.ts-node
, 도인))npm install
하지 않을 입니다). 두 을)와 같은 합니다. 그러면 두 모듈에 다음과 같은 것이 필요할 경우 문제가 발생합니다.ts-node
전 세계적으로 설치되어 있지만 다른 버전과 함께 설치되어 있습니다.
이를 방지하려면 패키지에 모든 종속성이 정의되어야 합니다.json 및 node_local에 설치됩니다.
않은 명령어 이 이 이 있습니다.npx
이것은 node_debooks에 로컬로 설치된 모듈에서 이진 파일을 실행하는 데 사용됩니다.
들어 때 ( 를 할 되는 되는 를 ts-node
그리고.typescript
:
rsp@mn-r:~/node/test/ts-test-1$ npm i ts-node typescript
npm WARN ts-test-1@0.0.0 No description
npm WARN ts-test-1@0.0.0 No repository field.
+ ts-node@6.0.3
+ typescript@2.8.3
added 19 packages from 44 contributors in 2.157s
[+] no known vulnerabilities found [19 packages audited]
나는 뛰려고 합니다.ts-node
:
rsp@mn-r:~/node/test/ts-test-1$ ts-node -v
-bash: /Users/rsp/opt/node/bin/ts-node: No such file or directory
나는 그것을 실행할 수 있습니다.npx
:
127!rsp@mn-r:~/node/test/ts-test-1$ npx ts-node -v
ts-node v6.0.3
node v10.1.0
typescript v2.8.3
또는 경로를 명시적으로 제시할 수 있습니다.
rsp@mn-r:~/node/test/ts-test-1$ ./node_modules/.bin/ts-node -v
ts-node v6.0.3
node v10.1.0
typescript v2.8.3
어쨌든 전 세계적으로 설치할 필요는 없습니다.
Mac OS에서 문제가 했습니다.--exec ts-node
작동합니다. 윈도우에서는 작동하지 않습니다.
저의 해결책은 다음과 같이nodemon.json
다음과 같이:
{
"watch": "src/**/*.ts",
"execMap": {
"ts": "ts-node"
}
}
을 .package.json
:트션:
"scripts": {
"start": "nodemon src/index.ts"
},
제게 도움이 된 유일한 해결책은 다음과 같습니다.
"start": "nodemon --exec npx ts-node ./index.ts",
저도 같은 문제에 부딪혀서 싱글이 아닌 큰따옴표를 사용해서 작동하는 것을 발견했습니다.
"dev": "nodemon --exec \"ts-node\" --cache-directory .tscache ./server.ts"
추신: 문제가 발생한 지 1년이 지났네요.패키지 버전이 요인인지 확실하지 않습니다.필요한 경우 확인합니다.
윈도우에서 작업하면 json 파일에 하나의 따옴표를 사용할 수 없습니다.그렇기 때문에 모든 단일 따옴표 기호(')를 이중 따옴표 기호(')로 대체해야 합니다.그러나 두 개의 큰따옴표(") 사이에는 탈출된 큰따옴표(")를 사용해야 합니다.현재의 경우 파일의 행을 변경해야 합니다.package.json
:
"dev": "nodemon --exec 'ts-node --cache-directory .tscache' ./server.ts",
행에 입력합니다.
"dev": "nodemon --exec \"ts-node --cache-directory .tscache\" ./server.ts",
노드데몬은 파일이 변경될 때 노드 프로세스를 보고 다시 실행하기 위한 것입니다.로컬ts-node
된 node_installed 디렉토리의 에서 node_installed 디렉토리를 할 수 .--exec
∙. 하기 위해 Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δ Δts-node
세계적으로한 사용자가 지적한 것처럼, 이는 프로젝트 외부의 패키지에 의존하기 때문에 좋은 해결책이 아닙니다.ts-node
의에서node_modules
편집:
최신 버전의 nodedemon을 사용하면 이를 더욱 단순화할 수 있습니다(참고: ts-node를 devDependency로 설치해야 함).
"start": "nodemon src/index.ts"
이전:
솔루션을 수정하려면 접두사를 지정합니다.ts-node
함께npx
퍼,의,입니다를 합니다.node_module
실행 가능한 것들
꾸러미의 안에, 안에서scripts
실행:
"start": "nodemon --watch './src/**/*' -e ts --exec 'npx ts-node src/index.ts'"
또 다른 접근법은 기존의 타자기 감시기를 사용하는 것일 수 있습니다.node
와.concurrently
"start": "concurrently \"tsc --watch\" \"node ./dist/index.js\""
같은 원리.하나의 패키지는 변경사항(nodedemon & tsc)을 감시하고 두 번째 프로세스(node/ts-node server)를 재시작합니다.
11 : 이 했고, 11/17/2021 : 을 로 하기 했고 했습니다 을 했습니다 했고 을 하기 nodemon
위의 접근 방식은 더 이상 작동하지 않았고, 이제 오류를 던지고 있었습니다:
''npx' is not recognized as an internal or external command,
operable program or batch file.
저는 모든 작은 따옴표를 탈출된 큰 따옴표로 변환하는 것이 해결책임을 발견했습니다.
"start": "nodemon --watch \"./src/**/*\" -e ts --exec \"npx ts-node src/index.ts\""
제가 원래 글을 쓰면서 뭔가 바뀌었나 봐요.도움이 되기를 바랍니다!
을 삭제할 node_modules
여시다다시g을 사용하여 다시 합니다.npm i
충분했습니다.
저도 비슷한 문제가 있었는데, 교체해서 해결했습니다.
"dev": "nodemon --exec 'ts-node --cache-directory .tscache' ./server.ts",
로.
"dev": "nodemon --exec ts-node --cache-directory .tscache ./server.ts",
하나의 따옴표(')만 제거하고 ts-노드를 전역적으로 설치합니다.
사용하는 동안 비슷한 문제가 있었습니다.nodemon
:
- 가지고 있었습니다
nodemon
설치,로고,d고y로d,전d>>ts-node
로컬에서만 설치됩니다.
해결책:
- 를 설치했습니다.
ts-node
(여전히 로컬 종속성 유지).
아래 "dev"와 같이 ts-node.를 중심으로 단일 쿼트를 제거하여 문제를 해결했습니다. "nodedemon --watch 'src/**/*.ts" --exec 'ts-node' src/index.ts".
"dev"로 업데이트됨: "devemon --watch 'src/**/*.ts" --exects-node src/index.ts"
참고하세요. 제 환경은 window 10과 npm version 6.14.4 입니다.
처럼, 를 해야 합니다.ts-node
전 세계가 아닌 지역적으로.npx
를 사용하면 여기서 설명하는 것처럼 레지스트리에 호스팅된 CLI 도구 및 기타 실행 파일을 쉽게 사용할 수 있습니다.따라서 를 사용하여 실행할 수 있습니다.ts-node
당신의 단말기에 그리고 심지어 당신의 대본에.package.json
를 들면일,
이것을 나의 것으로 생각합니다.package.json
을 대다
{
...
"scripts": {
"start": "npx nodemon path/to/file"
}
}
지금 npm run start
더 이상의 문제는 주지 않을 겁니다
다음 명령을 시도해 볼 수 있습니다.
"dev": "nodemon --watch './**/*.ts' --exec \"ts-node\" src/index.ts"
저는 이게 통했어요.
때로는 패키지 또는 패키지를 다시 설치하기만 하면 됩니다.예npm install -D ts-node
아니면npm install
TS-노드가 작동하지 않는 경우, 대안으로 다음을 수행할 수 있습니다.
설치 --> 1) 로 -->npm i nodemon
2) 소포 안에.json 'jon's'는 다음을 추가합니다.
"scripts": {
"start": "nodemon index.ts",
"test": "echo \"Error: no test specified\" && exit 1"
},
실행 3) npm start
하지 않을 것입니다 은로를만하지는다)다하지는만(은 )
새4) /에서 을 인 를 합니다 를 합니다 인 에서 tsc index.tsc --watch
이렇게 하면 타이프스크립트가 컴파일됩니다.유일한 단점은 노드를 자동으로 실행하기 위한 탭과 컴파일을 자동으로 수행하기 위한 탭 두 개를 모두 열기만 하면 된다는 것입니다. 하지만 이것은 효과가 있습니다.
창문에도 똑같은 문제가 있었어요.는 제 이 일부 잘못 된부못된을때의이다되었음을을e되었음을iinderdds부ndey못된'
원래:
"scripts": {
"dev": "nodemon --watch 'src/**/*.ts' --exec 'ts-node' src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
}
고정:
"scripts": {
"dev": "nodemon --watch 'src/**/*.ts' --exec \"ts-node\" src/index.ts",
"build": "tsc",
"start": "node dist/index.js"
}
확실하지 않을 경우의 차이점은 제가 더 이상 포장을 하지 않는다는 것입니다.ts-node
인에'
* 편집 * 위의 답변 from @RoutesMaps.com 을 토대로 변경하였습니다.이것은 나의 문제를 해결해 줄 뿐만 아니라,'
m 은이에 대해 m서로제결을다다을결es제e서로y
npm install ts-node 후 이 명령을 실행했습니다.이것이 제 문제를 해결해 주었습니다.
npm install -D tslib @types/node
원사 덧셈 - DTS-노드
"scripts": {
"start": "ts-node src/index.ts"
}
이제 '시작 시작'이 작동합니다.
답을 찾았습니다.ts-node를 전역적으로 설치하지 않고 프로젝트 nodedemon.json 파일 내에 생성한 후 다음과 같이 입력하면 됩니다.
{
"execMap": {
"ts": "node --loader ts-node/esm"
}
}
이제 패키지에 "module"을 입력할 수 있습니다.json 및 모듈:""ESNEXT(또는 ES Modules를 지원하는 smth)"는 tsconfig.json에서 입력합니다.그러나 로더 타입, 즉 실험적인 기능이지만 중요하지 않다는 점에 대해서는 노데몬으로부터 지속적인 경고를 받게 될 것입니다.
소포 안에.json, dev 명령에서, 예를 들어 nodemon path/dev.ts를 실행합니다.
맥을 사용하는 경우 단말기에서 이 문제를 해결하기 위해 생각해낸 단계입니다.
- 글로벌하게 설치하고 symlink 'ts-node'와 함께 반환된 파일 경로를 사용하여 이 파일을 /usr/local/bin으로 이동합니다.
- 패키지에 저장하지 않고 로컬로 설치합니다.json
- /node_copy 폴더를 /usr/local/lib/node_copy/에 복사합니다.
- / /ts-node/dist 할 수 합니다.
chmod +x bin.js
- 노드 폴더에서 npm 실행
- 다시 복사하지 않을 경우 dist 폴더가 여전히 존재하는지 확인합니다.
- 터미널에서 ts-node를 실행 중 테스트합니다. 작동하지 않으면 어떤 모듈을 .../로 이동해야 하는지에 대한 오류를 반환합니다.
- ts-node를 실행한 후 /usr/local/lib/node_modules/ts-node/node_modules 폴더를 삭제해야 합니다.
저도 같은 문제를 가지고 있었습니다.를 먼저 되었습니다.를저면가됨을를다이를(다됨을)iiesdnsendrnyy이t"npm run build"
는nodemon
도를 .package.json
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "tsc",
"dev": "ts-node ./lib/server.ts",
"start": "nodemon ./dist/server.js",
"prod": "npm run build && npm run start"}
vs-code에서 code-runner를 사용하는 경우 setting.json 파일을 편집합니다.
"typescript": "tsc $fileName && node $fileNameWithoutExt.js "
당신의 패키지 안에 대본을 이렇게 쓰시오.json 파일
"message": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "rimraf ./build && tsc",
"start": "node build/index.js",
"tsc": "tsc",
"watch-node": "nodemon build/index.js",
"postinstall": "npm run tsc"
},
그럼 npm run build
그리고 마지막으로 npm run start.
Git Bash에서 nodemon을 실행하려고 할 때 동일한 오류가 발생했지만 PowerShell에서 nodemon을 실행할 때는 정상적으로 작동하는 것 같습니다.그래서 다른 터미널에도 기회를 주는 것을 고려해야 합니다.
나는 이 명령을 도왔습니다.
npm i-D 타이프스크립트
https://nodejs.dev/learn/nodejs-with-type 스크립트를 사용하여 보다 구체적으로 작성
ㅇ을 TSC --init
에, TS --init
이 오류는 프로젝트에 한 버전의 ts-node가 설치되어 있고 전 세계적으로 다른 버전이 설치되어 있는 경우에 발생할 수 있습니다.문제를 해결하려면 - 동일한 버전의 패키지를 설치합니다.
이와 같은 문제가 발생하여 npx를 사용하여 실행하지만 (package.json이 아닌) nodemon config를 통해 실행하는 하이브리드 솔루션을 생각해 냈습니다.
nodemon.json...
{
"watch": ["src"],
"ext": "ts",
"exec": "npx ts-node ./src/server.ts"
}
실제로 nodemon을 글로벌하게 설치한 경우 ts-node도 글로벌하게 설치합니다.node demon을 -D(개발 종속성)로 설치한 경우 ts-node를 개발 종속성으로 설치합니다.그건 작동할 것이다.
파티에 좀 늦었지만, 제 문제는 제가 그 장소를 정했다는 것입니다.NODE_ENV=Production
CI의 내 CI경수의수경ynnteii내의.NODE_ENV가 설정되면 (ts-node가 나열된) 개발 종속성이 설치되지 않습니다.
NODE_ENV를 제거하면 문제가 해결되었습니다.
언급URL : https://stackoverflow.com/questions/44764004/ts-node-is-not-recognized-as-an-internal-or-external-command-operable-program
'source' 카테고리의 다른 글
XOR의 합산을 위한 직접 공식 (0) | 2023.09.13 |
---|---|
도커 파일로 로컬 이미지를 기본 이미지로 사용하려면 어떻게 해야 합니까? (0) | 2023.09.13 |
SQL을 사용하여 오라클 스키마 간에 데이터 복사 (0) | 2023.09.13 |
현재 응용 프로그램을 실행 중인 Android API 수준의 전화 받기 (0) | 2023.09.13 |
UPDATE SET 필드=에 중복된 항목이 있습니다.CONCAT(" 문자열", 필드) (0) | 2023.09.13 |