问题
I just came back to work on a React project after working in the Rails environment and found that I cannot run any NPM commands in my Mac terminal. I've tried all the remedies that I have come across but none have worked. The bigger issue is what caused this and how can I avoid it again.
Here is the error. What do I need to do? Please help.
$npm install
internal/modules/cjs/loader.js:550
throw err;
^
Error: Cannot find module '../lib/utils/unsupported.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
at Function.Module._load (internal/modules/cjs/loader.js:475:25)
at Module.require (internal/modules/cjs/loader.js:598:17)
at require (internal/modules/cjs/helpers.js:11:18)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:92:3)
at Module._compile (internal/modules/cjs/loader.js:654:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
at Module.load (internal/modules/cjs/loader.js:566:32)
at tryModuleLoad (internal/modules/cjs/loader.js:506:12)
I have tried the following:
$brew update
$brew uninstall node
$brew install node
After which the following commands come up as so when $which npm was unknown command before:
$which npm
/usr/local/bin/npm
$which node
/usr/local/bin/node
I even tried running:
/usr/local/bin/npm -v
but get the same error as above while
/usr/local/bin/node -v
v9.11.1
works fine.
added the following to my .zshrc file:
export PATH=/usr/local/bin/node:$PATH
export PATH=/usr/local/bin/npm:$PATH
I have also tried:
$brew uninstall --force node
$brew link --overwrite node
Warning: Already linked: /usr/local/Cellar/node/9.11.1
To relink: brew unlink node && brew link node
$rm -rf /usr/local/lib/node_modules/npm
then,
$node install
but that does not work, either.
$echo $NODE_PATH
does come up empty, so I may need to added the following to my .bashrc.
export PATH="/usr/local/bin/npm:/usr/local/bin/node:/usr/local/bin:$PATH"
That does not work either.
回答1:
- Uninstall node
brew uninstall --force node - Remove the
/usr/local/lib/node_modulesfolder - Install it again
brew install node
回答2:
Assume this happens on MacOS, below solution works for me.
- brew uninstall --force node
- Visit https://nodejs.org/en/ and download the LTS version and install, the error was gone
回答3:
This happened to me after installing yarn.
in a terminal:
brew uninstall --force --ignore-dependencies node
brew install node
if you have trouble symlinking node, in the same terminal:
sudo chown -R `whoami`:admin /usr/local/include
sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share
sudo chown -R `whoami`:admin /usr/local/lib
brew link --overwrite node
Check that your re-installation worked by typing the following in the terminal:
node -v
回答4:
I had an issue after upgrade my mac. I tried different solutions available on stack overflow and nothing work for me.
This solution works for me.
- Uninstall node all version
brew uninstall --force node - Install it again by this
brew install node
First point remove all node versions if available.
Done. Enjoy coding.
回答5:
Try this one: https://gist.github.com/DanHerbert/9520689
"If you're a Homebrew user and you installed node via Homebrew, there is a major philosophical issue with the way Homebrew and NPM work together."
Kudos to Dan Herbert for the solution.
回答6:
Remove all file from following folder
A)C:\Users\\AppData\Roaming\npm
B)C:\Users\\AppData\Roaming\npm-cache
and install node again
then execute command "npm install -g @angular/cli"
回答7:
None of the other answered solved my issue. After reinstalling Node, I still got the same error (even when I just wrote npm -v).
I followed this answer here (removing everything called node and npm), which solved it for me.
回答8:
In my case, the solution to the problem was reinstalling the node using the official installer from https://nodejs.org (Mac OS).
Solution:
- Download node installer from https://nodejs.org
- Install it
P.S. The problem appeared after yarn installation.
回答9:
I'm sorry, but in my case I get the same error, because, my index.js is inside de src folder, make sure that you are in the seme directory of your index.js to run
回答10:
In my case, this happened after I performed a machine-wide clean-up of all node_modules folders. I had node installed with nvm and I started getting this error, no matter what node-related action I wanted to trigger:
Error: Cannot find module '../lib/utils/unsupported.js'
I solved it by doing the following:
- Restarted my computer
- Uninstalled nvm
- Installed a different node version
回答11:
One other suggestion after trying these that finally worked for me was simply upgrading my node by downloading the latest via the download and package installer from here:
https://nodejs.org/en/download/
Before doing this trying to run any npm command gave me the same error brought in OP's question
npm commands started working for me after that.
回答12:
I had the same error after brew upgradeon mac.
I did brew postinstall node and that fixed it.
来源:https://stackoverflow.com/questions/49684857/after-npm-install-getting-error-cannot-find-module-lib-utils-unsupported