错误日志尝试安装快递

时间:2012-01-09 21:18:52

标签: npm

使用指向测试的debian测试存储库。我安装了节点,并在一些教程之后表达了npm,并且由于没有注意而犯了一些错误。

1.-首先,我以root身份做了以下事情:

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

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

# 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 express@2.5.4 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! <npm-@googlegroups.com>
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.

以root身份安装它是一个问题吗?

你能帮助我吗?

4 个答案:

答案 0 :(得分:3)

我遇到了和你一样的问题。

我的解决方案是:

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

输入我的密码。它显示:

  

用法:npm

     

其中一个是:       adduser,apihelp,作者,bin,bug,c,缓存,完成,       配置,弃用,文档,编辑,探索,常见问题,查找,获取,       帮助,帮助搜索,家庭,我,信息,初始化,安装,拉,链接,       list,ll,ln,login,ls,outdated,owner,pack,prefix,       修剪,发布,r,rb,重建,删除,重启,rm,root,       run-script,s,se,search,set,show,star,start,stop,       子模块,标记,测试,取消,卸载,取消链接,取消发布,       unstar,up,update,version,view,whoami

     

npm -h快速帮助   npm -l显示完整的使用信息   npm faq常见问题   npm帮助搜索帮助   npm help npm涉及概述   在ini格式的文件中指定配置:       / Users /(您的个人帐户名称)/。npmrc   或者在命令行上通过:npm --key value   可以通过以下方式查看配置信息:npm help config

     

npm@1.1.1 / usr / local / lib / node_modules / npm

有效。希望我的解决方案可以帮到你; - )

答案 1 :(得分:0)

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

答案 2 :(得分:0)

安装时使用:

  

npm install somemodule -g

它在/ usr / local / lib / node_modules中安装 somemodule (-g:global / system-wide)要成功安装全局模块,您需要对目标目录的写访问权限。因此需要sudo npm ...

如果相反,你会这样做:

  

npm install somemodule

那里有2个选择:

  1. somemodule只在当前用户的〜/ .npm中安装(至少在Ubuntu上)
  2. 如果当前目录中存在package.json文件,则somemodule将安装在./node_modules目录中。
  3. 注意(1):npm在安装过程中暂时使用〜/ tmp。如果此目录尚不存在,则会创建该目录。如果使用 sudo npm ,它将使用'root'所有权,这将在以后产生安装错误,除非再次使用sudo运行npm。修复: chowm -R whoami〜/ tmp

    注意(2):要使用全局模块,请确保在您的环境中定义了NODE_PATH。

答案 3 :(得分:0)

由于版本兼容性,我遇到了基于以下链接安装快递的相同问题:http://expressjs.com/migrating-4.html

我运行以下命令:

1- npm uninstall -g express

2 npm install -g express-generator

3-表达 - 版本

最后一个命令将4.9.0恢复为版本

相关问题