web-dev-qa-db-ja.com

モジュール 'ts-node / register'が見つかりません

Mochaを使用してTypeScript/Angular2プロジェクトをテストしたい。説明したようにts-nodeを使用しようとしました here

npm install -g ts-node

しかし、実行中

mocha --require ts-node/register -t 10000 ./**/*.unit.ts

エラーが発生します

モジュール 'ts-node/register'が見つかりません

ここで何が欠けていますか?

32
lenny

多くの人にとって有効な答えはコメントに隠れているように見えるので、質問に対する実際の答えとして投稿します。質問が再開されたように見えます。

私もこの問題を抱えていました。このQが閉じられた理由がわかりません。ただし、ts-nodeをローカルにインストールすると、これが修正されます。 npm install ts-node --save-dev

@Anitaに感謝します。これも私にとってはうまくいった答えだったからです。

41
Louie Bertoncin

うわー、ばかげた間違いはあなたの時間を費やすことができます。 nodejsアプリケーションをデバッグしようとしたときに、同じ問題に直面していました。私が犯した間違いは、nodejs appフォルダー(.vscodeが含まれるディレクトリー)の外側にnode_modulesフォルダーを作成したことです。 .vscodeをそのフォルダーに移動すると、すべてが正常に機能します。以下は私のlaunch.jsonファイルです。

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "index",         
            "args": [
                "src/index.ts"
            ],
            "runtimeArgs": [
                "-r",
                "ts-node/register"
            ],
            "cwd": "${workspaceFolder}",
            "protocol": "inspector",
            "internalConsoleOptions": "openOnSessionStart"           
        }
    ],
    "compounds": []
}

enter image description here

4
Sibeesh Venu

私はこれが古いことを知っていますが、私もこれに出くわし、現在使用しているソリューションを提供したいと考えました。

ts-nodeを使用してSudo npm i -g ts-nodeをグローバルにインストールしました。この機能をmochaで機能させるには、次のようにmochaにモジュールへの絶対パスを指定する必要がありました。

mocha -r /usr/lib/node_modules/ts-node/register test/*Test.ts

それが誰かを助けることを願っています。

3
kael

代わりに次のコマンドを試してください。

mocha --compilers ts:ts-node/register,tsx:ts-node/register

それは私のために働く。

3
Mike Lischke

Error: module.js:328 throw err; Error: Cannot find module 'ts-node'

解決策:次のコマンドで問題が解決します。
npm install ts-node --save-dev

(プロジェクトの開発依存関係としてts-nodeをインストールします)

0
user2712873