node.js - npm 不会安装 express 吗?

标签 node.js express

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

每当我运行时:

$ npm install -g express

我得到这个作为返回:

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

我现在正在努力解决这个问题。

更新:

我跑了

$ 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
  ├── 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

但如果我运行:

$ npm ls

返回空?

最佳答案

我遇到了同样的问题,npm cache clear 没有解决。这个问题是因为你的主目录中的 .npm 目录是用 root 权限创建的。您运行的第一个 npm 命令很可能是 sudo npm -g,现在您正尝试在本地目录中执行 npm install

解决:

  • sudo chown -R yourusername ~/.npm
  • 这可能不是必需的,但我也必须 rmdir ~/tmp

npm install from package.json 应该在此之后工作。

关于node.js - npm 不会安装 express 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12231846/

相关文章:

node.js - 如何从 Mongoose 查询返回值

node.js - Koa 和 Express 4.0 有什么区别?

javascript - webpack-dev-server npm run dev 抛出 TypeError : Cannot set property 'port' of undefined

javascript - 运行 Babel 转译代码时需要 JSON 文件会引发 Node.js 加载程序错误 "Error: Cannot find module ' example.json'"

javascript - 仅在特定日期和时间运行 cron 作业

javascript - 未处理的拒绝(类型错误): Failed to fetch (POST) react/node/express

javascript - Socket.Io 如何从套接字实例(包括发送者)向房间中的所有成员发送信息

javascript - 链式插入到 sails.js 中的 2 个表中

javascript - 本地主机连接被 Express 服务器拒绝

javascript - 如何使用 express/node.js 配置 CSP-headers?