2012-01-09 61 views
1

使用指向测试的debian测试存储库。我安装了节点,并且在一些教程之后表达了npm,并且我没有注意到了一些错误。错误日志试图安装快递

1.-首先,我做了以下的根:

https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manag ...

# echo sid main deb http://ftp.us.debian.org/debian/> /etc/apt/sources.list.d/sid.list 
# apt-get update 
# apt-get install nodejs # Documentation is great. 
# node-v v0.4.12 

2:然后您应该已经完成​​了以下http://www.freshblurbs.com/install-node-js-and-express-js-nginx-debian-lenny

$ cd 
$ curl http://npmjs.org/install.sh | sh 
$ which npm 

但而是作为一个用户,我没有意识到,我做了什么作为根目录,并没有改变目录,即执行以下操作:

# Curl http://npmjs.org/install.sh | sh 
# Which npm 
/usr/bin/npm 

如果我去那个目录权限是为root,但不是他们应该是用户。

/usr/bin $ ls-la npm 
lrwxrwxrwx 1 root root 38 Jan 7 20:09 npm -> .. /lib/node_modules/npm/bin/npm-cli.js 

3.-在制作的最后一步:

$ npm express install 
$ express /tmp/foo&&cd/tmp/foo 

或本安装全球

$ npm install-g express 
$ express /tmp/foo&&cd/tmp/foo 

和做的第一,但在尝试第二与

$ npm install-g express 

我得到这些错误

$ npm install-g express 
npm ERR! Could not create/usr/lib/node_modules/___express.npm 
npm ERR! Error installing [email protected] Error: EACCES, Permission denied '/ usr/lib/node_modules/___express.npm' 
npm ERR! Error: EACCES, Permission denied '/ usr/lib/node_modules/___express.npm' 
npm ERR! Report this * Entire * log at: 
npm ERR! <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR! <[email protected]> 
npm ERR! 
npm ERR! System Linux 3.0.0-1-amd64 
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "express" 
npm ERR! cwd /home/luis 
npm ERR! node-v v0.4.12 
npm ERR! npm-v 1.0.106 
npm ERR! path/usr/lib/node_modules/___express.npm 
npm ERR! EACCES code 
npm ERR! 
npm ERR! Additional logging Can be found in details: 
npm ERR! /home/luis/npm-debug.log 
npm not ok 

总我有一个大混乱,因为在那种情况下我是。

我以此为helloworld.js节点

var sys = require ('sys'); 
sys.puts ('Hello World'); 

并作出

$ Node helloworld.js 
Hello World 
It works, but I want to install Express to develop. 

测试是否安装它的根有问题?

你能帮我吗?

回答

0

您可以尝试sudo npm express install,然后输入您的系统帐户的密码

3

我遇到了同样的问题,像你这样的。

我的解决办法是:

$ sudo npm install-g express  
instead of:  
$ npm install-g express 

输入密码。它显示:

用法:NPM

这里是一个: 的adduser,apihelp,作者,垃圾桶,臭虫,C,缓存,完成 配置,不建议使用,文档,编辑,探索,常见问题解答 修剪,发布,发现,获取, 帮助,帮助搜索,首页,我,信息,初始化,安装,la,链接, 列表,ll,ln,登录,ls,过期,所有者, r,rb,重建,删除,重新启动,rm,根, 运行脚本,s,se,搜索,设置,显示,明星,开始,停止, submodule,标记,测试,联合国,卸载,取消发布, 取消星标,上,更新版本,查看WHOAMI

NPM -h上 NPM快速帮助-l显示完整的使用信息 NPM常见问题解答常见问题涉及概述 NPM帮助搜索上 NPM帮助NPM帮助 /用户/(您的个人帐户名)/ npmrc 或通过在命令行::在INI格式的文件指定CONFIGS NPM --key值 配置信息可以通过查看:NPM帮助配置

[email protected]/usr/local/lib/node_modules/npm

它的工作原理。希望我的解决方案可以帮助您;-)

+0

使用sudo运行此命令后,它显示为 sudo:npm:command not found – 2013-12-27 04:49:43

0

当您安装使用:

NPM安装somemodule -g

它安装somemodule在/ usr/local/lib目录/ node_modules (-g:全局/系统范围)要成功安装全局模块,您需要对目标目录具有写入权限。因此,需要使用sudo NPM ...

相反,如果你这样做:

NPM安装somemodule

2的选择有:

  1. somemodule被安装在〜/。 npm仅适用于当前用户(至少在Ubuntu上)
  2. 如果当前目录中存在package.json文件,somemodule将进入停滞在./node_modules目录中。

注意(1):在安装过程中,npm临时使用〜/ tmp。如果这个目录不存在,它就会被创建。如果使用sudo npm,它将使用“root”所有权来执行此操作,除非再次使用sudo运行npm,否则将产生安装错误。修复:chowm -R whoami〜/ tmp目录

注(2):使用全局模块,确保你已经NODE_PATH在您的环境中定义。

0

我不得不由于版本兼容性安装明示的同样的问题,基于下面的链接上:http://expressjs.com/migrating-4.html

我运行下面的命令:

1- NPM卸载-g表达

2 npm install -g express-generator

3- express --version

最后一个命令r etunrs 4.9.0版本