我正在尝试安装expressjs。
我在这里一直收到这个错误:
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: No such module
at Object.<anonymous> (/usr/share/npm/lib/utils/output.js:8:21)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
at Module.load (module.js:351:31)
at Function._load (module.js:310:12)
at Module.require (module.js:357:17)
at require (module.js:368:17)
at Object.<anonymous> (/usr/share/npm/lib/utils/log.js:21:14)
at Module._compile (module.js:432:26)
at Object..js (module.js:450:10)
知道错误发生的原因。我安装了npm,似乎没有任何问题。
这是我尝试用于安装express js的命令:
sudo npm install express -g
我也尝试了快递website上的指南。 对不起这是我的错。 dint安装nodejs的最新版本
答案 0 :(得分:0)
如果您有较新版本的Node.js和较旧版本的NPM,则会发生这种情况。听起来你刚刚更新了Node.js,所以现在你需要更新NPM。
答案 1 :(得分:0)
你最有可能以某种方式使用旧的NPM版本。
做
node --version
npm --version
此外,Ubuntu中有两个名称相似的软件包node
和nodejs
。
Fedora也遵循类似的包命名方案。因为这, nodejs中的二进制文件必须从原始名称重命名为nodejs 节点。但是,这在技术上并不是犹太人:以及大多数nodejs程序 (以及使用npm安装的库)假设节点二进制文件是 节点。如果你想绕过这个,最简单的方法就是符号链接 两个在一起。如果您采用此路线,请不要安装该节点 处理业余分组无线电的东西。
sudo ln -s /usr/bin/nodejs /usr/local/bin/node
或者,对于node
,我建议使用n
而不是安装链接。只需安装npm
(将安装节点),然后删除npm
,然后告诉apt清理它。为此,只需运行
sudo apt-get install npm
sudo npm install -g n
sudo n latest
sudo apt-get --purge remove npm
sudo apt-get autoremove
还有其他二进制发行版管理器甚至可以使用像nvm
这样的shell脚本,但我个人更喜欢n
。将n
视为apt
仅为一件事:它安装到/usr/local/bin
的节点二进制文件。