我现在有一个 node .安装了js版本0.8.8和npm 1.1.59.

每当我 run 时:

$ 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

但如果我 run :

$ npm ls

它是空的吗?

推荐答案

我也有同样的问题,但npm cache clear没有解决.造成此问题的原因是,主目录中的.npm目录是使用root权限创建的.最有可能的是,您运行的第一个npm命令是sudo npm -g,而现在您正试图在本地目录中运行npm install.

要解决:

  • sudo chown -R yourusername ~/.npm
  • 这可能不是必要的,但我也不得不这么做

npm install美元的Package.json应该在这之后工作.

Node.js相关问答推荐

(0,core_1.default)不是使用@middy/core的lambda处理程序上的函数

Node fetch 实现似乎与 Deno 和 Bun 不同,导致网站没有返回响应?

如何使用Next.js/Node/TS正确地上传至S3

使用更新版本仍然找到包@angular/fire但不支持原理图

如何在套接字对象中存储或添加数据?

使用 fs.createWriteStream 将数据写入 bigquery (node.js) 时出现模式错误

加速 sequelize ORM 中的查询

使用正则表达式查找文档,但输入是数组

如何让 vscode 假设一个 node.js 上下文,以便它不假设 `fetch` 存在?

使用 firebase 函数 api 运行套接字(相同的端口创建问题)

GridFS 大文件下载使 Node.js 服务器崩溃. MongoServerError:排序超出了字节的内存限制

突然 React 无法执行create-react-app命令.为什么会发生这种情况,我该如何解决?

类型中缺少属性,该类型是由类实现的接口

使用服务帐户将 Firebase 应用程序部署到 Heroku(使用 dotenv 的环境变量)

带有 node.js 和 express 的基本网络服务器,用于提供 html 文件和assets资源

用于排除多个文件的 node.js glob 模式

Node.js 连接仅适用于本地主机

NPM:为什么要安装这个包?

如何创建安全(TLS/SSL)Websocket 服务器

将 expressjs 绑定到特定的 IP 地址