【问题标题】:npm won't install from package.json within projectnpm 不会从项目中的 package.json 安装
【发布时间】:2012-09-14 00:35:58
【问题描述】:

在我的 macbook air 上,我只能使用 sudo 全局安装 npm 包,但任何时候我进入本地目录并尝试在没有 -g 的情况下安装本地包时都会出错。

 npm ERR! Error: EACCES, open '/Users/mmarze/.npm/53951495-coffee-script.lock'
npm ERR!  { [Error: EACCES, open '/Users/mmarze/.npm/53951495-coffee-script.lock']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/Users/mmarze/.npm/53951495-coffee-script.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" "coffee-script"
npm ERR! cwd /Users/mmarze/sandbox/node.js/test
npm ERR! node -v v0.8.9
npm ERR! npm -v 1.1.61
npm ERR! path /Users/mmarze/.npm/53951495-coffee-script.lock
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, open '/Users/mmarze/.npm/53951495-coffee-script.lock'
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/mmarze/sandbox/node.js/test/npm-debug.log
npm ERR! not ok code 0

我尝试卸载并重新安装 node 和 npm,但我无法让它在本地安装任何东西,如果我使用 sudo 在本地安装,那么我的本地用户没有对它们的写入权限。我该如何解决这个问题?

【问题讨论】:

  • /Users/mmarze/.npm 的所有者是谁? /Users/mmarze/sandbox/node.js/test/npm-debug.log 中有什么有趣的吗?
  • 看起来您可能在没有-g 的情况下完成了sudo npm install ...,即以root 用户身份在您的家中安装了npm 包。清除您的.npm 目录或chown -R mmarze.mmarze ~/.npm 应该修复它。
  • 谢谢,好像成功了!

标签: javascript macos node.js npm osx-mountain-lion


【解决方案1】:

根据 Linus G Thiel 的评论,看起来这可以解决问题:

看起来您可能在没有-g 的情况下完成了sudo npm install ...,即 以 root 用户身份在您的家中安装 npm 包。要么清楚 你的.npm 目录或chown -R mmarze.mmarze ~/.npm 应该修复它。

【讨论】:

  • 当您使用 npm 安装的第一件事是使用 sudo 完成时,似乎也会发生这种情况。
  • 请注意,在 OSX 上,您需要在用户和组之间使用“:”(冒号)而不是点。
  • 请注意,您可能还必须修复项目中已安装模块的权限:chown -R mmarze:mmarze ./node_modules
  • username.username 是什么意思? (以上情况mmarze.mmarze)
  • 你可能不得不把 sudo 放在 chown 前面
猜你喜欢
  • 2015-07-25
  • 2016-08-02
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
  • 1970-01-01
  • 2020-01-05
  • 1970-01-01
  • 2013-02-25
相关资源
最近更新 更多