npm不会安装快递? [英] npm will not install express?

查看:109
本文介绍了npm不会安装快递?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前有node.js版本0.8.8,安装了npm 1.1.59。



每当我运行:

  $ npm install -g express 

我得到这个回报:

  npm ERR!错误:EACCES,打开'/Users/devinandrews/.npm/64a534c1-express.lock'
npm ERR! {[错误:EACCES,打开'/Users/devinandrews/.npm/64a534c1-express.lock']
npm ERR! errno:3,
npm ERR!代码:'EACCES',
npm ERR!路径:'/Users/devinandrews/.npm/64a534c1-express.lock'}
npm ERR!
npm ERR!请尝试以root用户/管理员身份重新运行此命令。

npm ERR!系统达尔文12.1.0
npm ERR!命令node/ usr / local / bin / npminstall-gexpress
npm ERR! cwd / Users / devinandrews
npm ERR!节点-v v0.8.8
npm ERR! npm -v 1.1.59
npm ERR!路径/Users/devinandrews/.npm/64a534c1-express.lock
npm ERR!代码EACCES
npm ERR!错误3
npm ERR!堆栈错误:EACCES,打开'/Users/devinandrews/.npm/64a534c1-express.lock'
npm ERR!
npm ERR!额外的日志记录详细信息可以在以下位置找到:
npm ERR! /Users/devinandrews/npm-debug.log
npm ERR!不确定代码0

我正在拉我的头发,现在试图弄清楚这一点。



更新:



我跑了

  $ npm -g ls 

查看我的全球npm安装:

  / usr / local / lib 
├─┬express@3.0.0rc4
│├─ ─commander@0.6.1
│├─┬connect@2.4.4
││├──bytes@0.1.0
││├──formidable@1.0.11
││├──pause@0.0.1
││└──qs@0.4.2
│├──cookie@0.0.4
│├──crc@0.2。 0
│├──debug@0.7.0
│├──fresh@0.1.0
│├──methods@0.0.1
│├──mkdirp @ 0.3.3
│├──range-parser@0.0.4
│└─┬send@0.0.4
│└──mime@1.2.6
└─ ┬npm@1.1.59
├──abbrev@1.0.3
├──ansi@0.1.2
├──archy@0.0.2
├──块-stream@0.0.6
├──chownr@0.0.1
├──couch-login@0.1.10
├──fstream@0.1.18
├ ┬fstream-npm@0.1.1
│└──fstream-ignore@0.0.5
├──glob@3.1.12
├──graceful-fs@1.1.10
├──inherits@1.0.0
├──ini@1.0.4
├─┬init-package-json@0.0.5
│└──promzard@0.2 .0
├──lockfile@0.2.1
├──lru-cache@2.0.1
├──minimatch@0.2.6
├──mkdirp@0.3 .4
├──node-gyp@0.6.7
├──nopt@2.0.0
├──npm-registry-client@0.2.6
├─ ┬npmconf@0.0.11
│└─┬config-chain@1.1.1
│└──proto-list@1.2.2
├──npmlog@0.0.2
├──once@1.1.1
├──osenv@0.0.3
├─┬read@1.0.4
│└──mute-stream@0.0.3
├──read-installed@0.0.2
├──read-package-json@0.1.4
├──request@2.9.203
├──重试@ 0.6.0
├──rimraf@2.0.2
├──semver@1.0.14
├──slide@1.1.3
├──tar@0.1.13
├──uid-number@0.0.3
└──which@1.0.5

但是如果我运行:

  $ npm ls 

它返回空?

解决方案

我有同样的问题,而 npm缓存清除没有修复它。这是因为您的主目录中的 .npm 目录是使用root权限创建的。最可能的是您运行的第一个npm命令是 sudo npm -g ,现在您正尝试在本地的 npm安装目录。



要解决:




  • sudo chown -R yourusername〜/ .npm

  • 这可能不是必需的,但我也不得不 rmdir〜/ tmp



npm install / p>

I currently have node.js version 0.8.8, and npm 1.1.59 installed.

Whenever I run:

$ npm install -g express

I get this in return:

npm ERR! Error: EACCES, open '/Users/devinandrews/.npm/64a534c1-express.lock'
npm ERR!  { [Error: EACCES, open '/Users/devinandrews/.npm/64a534c1-express.lock']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/devinandrews/.npm/64a534c1-express.lock' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 12.1.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "express"
npm ERR! cwd /Users/devinandrews
npm ERR! node -v v0.8.8
npm ERR! npm -v 1.1.59
npm ERR! path /Users/devinandrews/.npm/64a534c1-express.lock
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Users/devinandrews/.npm/64a534c1-express.lock'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/devinandrews/npm-debug.log
npm ERR! not ok code 0

I'm pulling my hair out right now trying to figure this out.

Update:

I ran

$ npm -g ls

to see my what npm has installed globally:

/usr/local/lib
├─┬ express@3.0.0rc4
│ ├── commander@0.6.1
│ ├─┬ connect@2.4.4
│ │ ├── bytes@0.1.0
│ │ ├── formidable@1.0.11
│ │ ├── pause@0.0.1
│ │ └── qs@0.4.2
│ ├── cookie@0.0.4
│ ├── crc@0.2.0
│ ├── debug@0.7.0
│ ├── fresh@0.1.0
│ ├── methods@0.0.1
│ ├── mkdirp@0.3.3
│ ├── range-parser@0.0.4
│ └─┬ send@0.0.4
│   └── mime@1.2.6
└─┬ npm@1.1.59
  ├── abbrev@1.0.3
  ├── ansi@0.1.2
  ├── archy@0.0.2
  ├── block-stream@0.0.6
  ├── chownr@0.0.1
  ├── couch-login@0.1.10
  ├── fstream@0.1.18
  ├─┬ fstream-npm@0.1.1
  │ └── fstream-ignore@0.0.5
  ├── glob@3.1.12
  ├── graceful-fs@1.1.10
  ├── inherits@1.0.0
  ├── ini@1.0.4
  ├─┬ init-package-json@0.0.5
  │ └── promzard@0.2.0
  ├── lockfile@0.2.1
  ├── lru-cache@2.0.1
  ├── minimatch@0.2.6
  ├── mkdirp@0.3.4
  ├── node-gyp@0.6.7
  ├── nopt@2.0.0
  ├── npm-registry-client@0.2.6
  ├─┬ npmconf@0.0.11
  │ └─┬ config-chain@1.1.1
  │   └── proto-list@1.2.2
  ├── npmlog@0.0.2
  ├── once@1.1.1
  ├── osenv@0.0.3
  ├─┬ read@1.0.4
  │ └── mute-stream@0.0.3
  ├── read-installed@0.0.2
  ├── read-package-json@0.1.4
  ├── request@2.9.203
  ├── retry@0.6.0
  ├── rimraf@2.0.2
  ├── semver@1.0.14
  ├── slide@1.1.3
  ├── tar@0.1.13
  ├── uid-number@0.0.3
  └── which@1.0.5

but if i run:

$ npm ls

it returns empty?

解决方案

I had the same problem, and npm cache clear did not fix it. This problem is caused because the .npm directory in your home directory was created with root privileges. Most likely the first npm command you ran was sudo npm -g and now you are trying to npm install in a local directory.

To solve:

  • sudo chown -R yourusername ~/.npm
  • This may not be necessary but I also had to rmdir ~/tmp

npm install from package.json should work after this.

这篇关于npm不会安装快递?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆