简体   繁体   中英

Cannot find module 'prompt-sync'

I'm making Tic Tac Toe game in JavaScript needed prompt-sync to get user inputs. After I installed prompt-sync module using npm I was getting this error whenever I tried to run this file. Did a quick google search to find that it requires npm install -g to activate it globally. Despite doing this I'm still getting the same Error. If anyone could please tell what's going wrong here!

Error :

$ node main.js
internal/modules/cjs/loader.js:883
  throw err;
  ^

Error: Cannot find module 'prompt-sync'
Require stack:
- B:\JavaScript Projects\Tic Tac Toe\main.js
←[90m    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:725:27)←[39m
←[90m    at Module.require (internal/modules/cjs/loader.js:952:19)←[39m
←[90m    at require (internal/modules/cjs/helpers.js:88:18)←[39m
    at Object.<anonymous> (B:\JavaScript Projects\Tic Tac Toe\main.js:5:16)
←[90m    at Module._compile (internal/modules/cjs/loader.js:1063:30)←[39m
←[90m    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)←[39m
←[90m    at Module.load (internal/modules/cjs/loader.js:928:32)←[39m
←[90m    at Function.Module._load (internal/modules/cjs/loader.js:769:14)←[39m
←[90m    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)←[39m {
  code: ←[32m'MODULE_NOT_FOUND'←[39m,
  requireStack: [ ←[32m'B:\\JavaScript Projects\\Tic Tac Toe\\main.js'←[39m ]
}

The Code

/*
This project implements multiplayer Tic Tac Toe
*/

const prompt = require('prompt-sync')({sigint: true});

const clear_ouput = () => {
    
    for (let i = 1; i < 201; i++) {
        console.log();
    }

}

const display_board = board => {

    clear_ouput();

    console.log('   |   |   ');
    console.log(' ' + board[7] + ' | ' + board[8] +' | ' + board[9] + ' ');
    console.log('   |   |   ');
    console.log('-----------');
    console.log('   |   |   ');
    console.log(' ' + board[4] + ' | ' + board[5] +' | ' + board[6] + ' ');
    console.log('   |   |   ');
    console.log('-----------');
    console.log('   |   |   ');
    console.log(' ' + board[1] + ' | ' + board[2] +' | ' + board[3] + ' ');
    console.log('   |   |   ');

}

const create_board = char => {
    let board = [];
    for (let i = 0; i < 11; i++) {
        board.push(char);
    }
    return board;
}

// let game_board = create_board('X');
// display_board(game_board);

const decide_markers = () => {

    let marker;

    while ( ['X', 'O'].includes(marker) ) {

        marker = prompt('Player 1, enter your marker (X - O): ');

        if ( !(['X', 'O'].includes(marker)) ) {
            console.log(`Sorry but ${marker} is not a valid marker.\nChoose from 'X' or 'O'.\n`);
        };
    }
    if (marker === 'X') {
        return ['X', 'O'];
    }

    return ['O', 'X'];
}

player_markers = decide_markers();

The path of the file is /b/Javascript Projects/Tic Tac Toe

command used to install prompt-synce npm install -g prompt-sync

I've tried restarting VS Code several times but it's still the same.

Not sure if you still need it, but for anyone who does:

Try using npm install prompt-sync.

1.Make sure you have Node and NPM installed

2.Run npm install prompt-sync in the terminal

Use this instead in the command prompt (I wrote it while in the same folder as the.js file but that might not be necessary)

npm i prompt-sync

Source: https://www.npmjs.com/package/prompt-sync

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM