首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速JS安装

快速JS安装
EN

Stack Overflow用户
提问于 2012-04-05 19:44:57
回答 2查看 965关注 0票数 1

我在试着安装expressjs。

我在这里一直收到这个错误:

代码语言:javascript
复制
 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的命令:

代码语言:javascript
复制
sudo npm install express -g

我也尝试了expressjs website上的指南。抱歉,是我的错。dint安装nodejs的最新版本

EN

回答 2

Stack Overflow用户

发布于 2012-04-13 23:34:36

如果您使用的是较新版本的Node.js和较旧版本的NPM,则会发生这种情况。听起来你刚刚更新了Node.js,所以现在你需要更新NPM了。

票数 0
EN

Stack Overflow用户

发布于 2016-02-11 13:05:30

您很可能以某种方式使用了旧的NPM版本。

代码语言:javascript
复制
node --version
npm --version

此外,在Ubuntu中有两个包具有相似的名称,nodenodejs

Fedora也遵循类似的包命名方案。因此,nodejs中的二进制文件必须从原始节点重命名为nodejs。然而,从技术上讲,这是不正确的:大多数nodejs程序(以及随npm一起安装的库)都假定节点二进制文件是node。如果你想解决这个问题,最简单的方法就是将两者符号链接在一起。如果您采用此方法,请不要安装处理Amateur Packet Radio内容的node包。

代码语言:javascript
复制
sudo ln -s /usr/bin/nodejs /usr/local/bin/node

或者,在node的情况下,我建议使用n,而不是安装link。只需安装npm (它将安装node),然后删除npm,然后告诉apt清理它。为此,只需运行以下命令

代码语言:javascript
复制
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中的节点二进制文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10027963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档