node.js - NPM install 在安装 express 时出现错误

标签 node.js ubuntu express npm

当我给出命令 npm install express 时,它会抛出以下错误。在 ubuntu 机器上

gaurav@gaurav-Mini-Monster:~/TestScripts$ sudo npm install -g express
npm ERR! error installing express@3.3.3 Error: Unsupported
npm ERR! error installing express@3.3.3     at checkEngine (/usr/local/lib/node_modules/npm/lib/install.js:493:14)
npm ERR! error installing express@3.3.3     at Array.0 (/usr/local/lib/node_modules/npm/node_modules/slide/lib/bind-actor.js:15:8)
npm ERR! error installing express@3.3.3     at LOOP (/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js:15:13)
npm ERR! error installing express@3.3.3     at chain (/usr/local/lib/node_modules/npm/node_modules/slide/lib/chain.js:20:4)
npm ERR! error installing express@3.3.3     at installOne_ (/usr/local/lib/node_modules/npm/lib/install.js:470:3)
npm ERR! error installing express@3.3.3     at installOne (/usr/local/lib/node_modules/npm/lib/install.js:411:3)
npm ERR! error installing express@3.3.3     at /usr/local/lib/node_modules/npm/lib/install.js:347:9
npm ERR! error installing express@3.3.3     at /usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js:54:35
npm ERR! error installing express@3.3.3     at Array.forEach (native)
npm ERR! error installing express@3.3.3     at /usr/local/lib/node_modules/npm/node_modules/slide/lib/async-map.js:54:11
npm ERR! error rolling back express@3.3.3 Error: UNKNOWN, Unknown error '/usr/local/lib/node_modules/express'
npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: connect@2.8.3
npm ERR! Required: {"node":">= 0.8.0"}
npm ERR! Actual:   {"npm":"1.0.106","node":"0.5.11-pre"}
npm ERR! 
npm ERR! System Linux 3.2.0-48-generic-pae
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "express"
npm ERR! cwd /home/gaurav/TestScripts
npm ERR! node -v v0.5.11-pre
npm ERR! npm -v 1.0.106
npm ERR! code ENOTSUP
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/gaurav/TestScripts/npm-debug.log
npm not ok

我也试过

sudo npm install express
npm install -g express
sudo npm install -g express

没有任何作用。

最佳答案

Node 非常容易手动安装。我也喜欢这样做,因为切换版本真的很容易。

这也很棒,因为您不需要向 apt 添加一些外部包存储库,并且您不必在 Node 发布新版本时等待这些存储库更新。您可以在更新发布后立即获得更新。

# make a `~/.nodes/ folder
mkdir -p ~/.nodes && cd ~/.nodes

# download the binaries from nodejs.org
# in this case, here's the linux version
curl -O http://nodejs.org/dist/v0.10.12/node-v0.10.12-linux-x64.tar.gz

# extract
tar -xzf node-v0.10.12-linux-x64.tar.gz

# rename folder to 0.10.12
mv node-v0.10.12-linux-x64 0.10.12

# create a `current` symlink
ln -s 0.10.12 current

# prepend ~/.nodes/bin to your path
# you'll want to save this in ~/.bashrc or ~/.zshrc or something
export PATH="~/.nodes/current/bin:$PATH"

# cleanup
rm ~/.nodes/node-v0.10.12-linux-x64.tar.gz

关于此的最好的部分是您可以为任何其他版本的 Node 重复该模式,随时更改 current 符号链接(symbolic link)以切换您正在运行的版本,并且您很高兴走

% node --version
v0.10.12

% npm --version
1.2.32

# switch versions to (e.g.) 0.10.5
% cd ~/.nodes && rm current && ln -s 0.10.5 current

% node --version
v0.10.5

% npm --version
1.2.18

编写可执行脚本时的额外提示

制作可执行文件

% touch ~/somefile && chmod +x ~/someifle && nano ~/somefile

文件内容

#!/usr/bin/env node
console.log(process.version);

运行它

% ./somefile
v0.10.12

关于node.js - NPM install 在安装 express 时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17474687/

相关文章:

node.js - 如何通过 nodeJS 从 Google Datastore 的索引中排除数组字段?

javascript - 为什么 Node 中的 PassportJS 不会在注销时删除 session

node.js - 防止 sequelize 在 node.js 应用程序中删除数据库

javascript - 如何从 javascript 获取 Meteor 的 MongoDB URL

opengl - 在 Codeblocks (Ubuntu 12.04) 中设置 GLUT 项目

ubuntu - 通过 SES 从托管在 Micro-EC2 上的 AWS 上的 Drupal 发送电子邮件

python - 升级 Ubuntu : python3 install is corrupted

mysql - 即使使用 bodyParser,req.body 也会给出空对象 {}

javascript - Node js + Sails js + websocket 应用程序每隔几个小时崩溃一次

javascript - stdio 流 : WriteStream 的值不正确