当我运行“Ionic start project name”时,我总是得到这个错误消息:
错误消息
Running command - failed![ERROR] An error occurred while running npm install (exit code 1):
module.js:471
throw err;
^
Error: Cannot find module '../lib/utils/unsupported.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
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:79:3)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
在Mac OS X(10.12.6)上,我通过以下方法解决了这个问题:
brew uninstall --force node
brew install node
然后我得到一个错误,抱怨节点postinstall失败,并重新运行brew postinstall节点
然后我得到一个错误:
permission denied @ rb_sysopen /usr/local/lib/node_modules/npm/bin/npx
我通过以下方法解决了这个错误:
sudo chown -R $(whoami):admin /usr/local/lib/node_modules
现在我不会再得到这个错误了。
如果你正在使用“n”库@ https://github.com/tj/n。执行以下步骤
echo $NODE_PATH
如果节点路径为空,则
sudo n latest - sudo is optional depending on your system
使用n切换Node.js版本后,npm可能无法正常工作。
curl -0 -L https://npmjs.com/install.sh | sudo sh
echo NODE_PATH
您现在应该看到您的节点路径。否则,它可能是别的东西
这可能发生在npm/lib文件夹由于某种原因被清空时(也可能发生在上次使用时由于权限问题)。
重新安装节点可以解决这个问题(正如这里的其他答案所述),但我建议使用一个叫做nvm(节点版本管理器)的很棒的工具,它能够管理多个版本的node和npm -这在开发机器上非常有用,因为有多个项目需要不同版本的node。
当你安装nvm时,这个消息就会消失,你就可以使用最新版本的node和npm了。
为了查看nvm中当前安装的节点版本列表,只需运行:
nvm list
要安装和使用新的节点版本,请运行:
nvm install <node_version>
例如安装节点10的最新版本。x,运行:
nvm install 10
为了切换到当前安装的版本,运行:
nvm use <node_version>
为了切换到系统的原始节点版本,只需运行:
nvm use system
希望这能有所帮助。
好运!