Issue running grunt command Error: Cannot find module 'has' - javascript

I am facing errors with grunt commands for a dojo project with following version of node, npm and grunt-cli
grunt-cli version : 0.1.13
node version : 6.17.1
npm version : 3.10.10
Getting below error when running grunt command after npm install.
PS C:\workspace\ui\test\ui> grunt
module.js:478
throw err;
^
Error: Cannot find module 'has'
at Function.Module._resolveFilename (module.js:476:15)
at Function.Module._load (module.js:424:25)
at Module.require (module.js:504:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (C:\Users\6110853\AppData\Roaming\nvm\v6.17.1\node_modules\grunt-cli\node_modules\is-core-module\index.js:3:11)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
Tried npm install after deleting node_modules.
Tried installing has module before running npm-install
grunt-cli has been installed globally and I see the required module is present in node_module but we still get module not found error.
Can anybody suggest how to resolve this issue ?

This may be caused by incompatible dependencies. I encountered the same error on grunt#1.3.0. Upgrading node/npm tools to newer versions solved the problem in my case:
node#6.3.1 -> node#12.14.0
npm#3.10.3 -> npm#6.13.4

Related

NextJS: Unexpected token '?'

I have a freshly installed Ubuntu 22.04.1 LTS on which I have installed npm and docker.
When I want to start my NextJS web server (npm run dev) and the following error message appears:
niklas#srv-code01:~/Desktop/Code/Javascript/NextJS/website_01$ npm run dev
> website_01#0.1.0 dev
> next dev
/home/niklas/Desktop/Code/Javascript/NextJS/website_01/node_modules/next/dist/cli/next-dev.js:315
showAll: args["--show-all"] ?? false,
^
SyntaxError: Unexpected token '?'
at wrapSafe (internal/modules/cjs/loader.js:915:16)
at Module._compile (internal/modules/cjs/loader.js:963:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.dev (/home/niklas/Desktop/Code/Javascript/NextJS/website_01/node_modules/next/dist/lib/commands.js:10:30)
at Object.<anonymous> (/home/niklas/Desktop/Code/Javascript/NextJS/website_01/node_modules/next/dist/bin/next:141:28)
at Module._compile (internal/modules/cjs/loader.js:999:30)
I can't see anything from the error message. What is the reason for the error? The error message also occurs with the following command: npm run start
I have the latest version of NPM installed.
Start of the NPM Development or Production Server on Port 3000
I had the same error and to resolve that I used the node version manager(nvm) to update my node.js version to 18.12.1.
To fix this, you need to follow the steps in this order-
Run this command to get the nvm.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
Restart your terminal.
Install nvm- nvm install v18.12.1
Start nvm- npm run dev
You can use nvm list-remote to look at a complete list of the versions to choose from.
For more information, read here under option 3-
installing-node-using-the-node-version-manager
You can try init project by npx create-next-app#latest, not npx create-next-app. It works for me. Good luck~

NPM Permission errors even after resetting ownership

Been trying to install nodemon globally and although installed, I got a permission error when trying to run nodemon app.js in my terminal (using zsh). The following error:
/usr/local/lib/node_modules/nodemon/node_modules/configstore/index.js:53
throw err;
^
Error: EACCES: permission denied, open '/Users/carlosgrijalva/.config/configstore/update-notifier-nodemon.json'
You don't have access to this file.
at Error (native)
at Object.fs.openSync (fs.js:641:18)
at Object.fs.readFileSync (fs.js:509:33)
at Object.get (/usr/local/lib/node_modules/nodemon/node_modules/configstore/index.js:34:26)
at Object.Configstore (/usr/local/lib/node_modules/nodemon/node_modules/configstore/index.js:27:44)
at new UpdateNotifier (/usr/local/lib/node_modules/nodemon/node_modules/update-notifier/index.js:34:17)
at module.exports (/usr/local/lib/node_modules/nodemon/node_modules/update-notifier/index.js:123:23)
at Object.<anonymous> (/usr/local/lib/node_modules/nodemon/bin/nodemon.js:15:27)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
I found this article: https://docs.npmjs.com/getting-started/fixing-npm-permissions
And followed the instructions in option 1 by running the following command:
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
I'm debating reinstalling node and since i'm using 6.11 and figured I might as well use the latest version but I'm unsure if that's the wisest move at this point. If anyone has any other suggestions I'd really appreciate it.

Yeoman : angular-fullstack-generator cannot find module 'babel-runtime/helpers/interop-require-default'

i've been trying to use Yeoman to scaffold a mean app with angular-fullstack-generator, however i've been encountering this weird error i'd never encountered before, i've already tried reinstalling grunt-cli, npm, yo, none of it works, i'm using NVM and Node 4.4.0
I have Python 2.7.11 installed, apparently the 32-bit version, whereas everything else is 64-bit, i don't know if this might be what's causing the problem.
The full description of the error as shown on the console is as follows:
yo angular-fullstack
module.js:327
throw err;
^
Error: Cannot find module 'babel-runtime/helpers/interop-require-default'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (C:\Users\Jonny\AppData\Roaming\npm\node_modules\generator-angular-fullstack\node_modules\babel-register\lib\node.js:3:30)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
So, what am i doing wrong here? Is there anything else i can try to fix the problem?
The error occurs because the babel-runtime module is missing. The babel-runtime module is required for babel to work.
You can fix this by running the command:
npm install --save babel-runtime
I solved it uninstalling and removing babel from node global dependencies and then reinstalling yo and generatog-angular-fullstack.
I had a similar error, it couldn't find gulp-babel, so I installed the module globally.
$ npm install -g --save gulp-babel
And if you're using a mac you may want to try to put sudo in front of the command.

GithubElectron: A JavaScript error occured in the browser process

I installed "electron-packager" using npm and executed the command
electron-packager . Johnston --platform=darwin --arch=x64 --version=0.36.0
And then I when I run the "Johnston.app", this error showed up (I didn't even see the main window)
Uncaught Exception: Error: Cannot find module 'electron'
at Function.Module._resolveFilename (module.js:332:15)
at Function.Module._load (module.js:282:25)
at Module.require (module.js:361:17)
at require (module.js:380:17)
at Object. (/Users/David/Github/Johnston/Johnston-darwin-x64/Johnston.app/Contents/Resources/app/main.js:3:18)
at Module._compile (module.js:426:26)
at Object.Module._extensions..js (module.js:444:10)
at Module.load (module.js:351:32)
at Function.Module._load (module.js:306:12)
at Object. (/Users/David/Github/Johnston/Johnston-darwin-x64/Johnston.app/Contents/Resources/atom.asar/browser/lib/init.js:104:10)
Is there any solutions? Thanks!
This likely has something to do with you having a different version of Electron installed on your machine that you are using to build with. In the folder for your app, run electron --version to get the version of electron that you have installed. Then, change the --version=0.36.0 to use whatever version you have installed.
If that doesn't fix it, then you should try rm -rf node_modules && npm install on your project. This will remove you node modules and then reinstall them all. If that doesn't work, please comment here and I will try to help again.

Trouble installing js-yaml NPM package dependancies on Ubuntu 64 bits

I am trying to get my own project written on OSX to build on Ubuntu. It uses several npm packages to build itself. A few of them depend on the npm package js-yaml, which in it's turn depends on a package called 'esprima'. A fresh Ubuntu 14.04 installation gives me the error that this package can not be found:
module.js:340
throw err;
^
Error: Cannot find module 'esprima'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object. (/home/michahell/Documents/projects/pinbored-webkit/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js:4:15)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
npm ERR! weird error 8
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
The output tells me that it might have something to do with the legacy binary node, but i should have solved this problem by symlinking node to point to nodejs, using this S.O. post:
nodejs vs node on ubuntu 12.04
So, what is causing npm / node to not be able to find or install this package?
So i have apparently solved this by manually installing the missing node module:
npm install esprima
Apparently, the npm module requiring this esprima module could just find it if it was 'locally' npm installed. If this is intended / deterministic behaviour, that's nice to know :)

Categories