当前位置: 首页 > 知识库问答 >
问题:

NPM不会在Mac上安装任何软件包。新的,干净的建筑。`eacces`&其他错误

郑景胜
2023-03-14

我刚刚从零开始重建了我的Mavericks(Mac OS X版本9.4)机器。我是这台机器的管理员和唯一用户。

  • 我通过他们的git-2.0.1-intel-universal-snow-leopard.pkg(http://git-scm.com/downloads)在默认的/usr/local/Git/bin/Git位置安装了Git。
  • 我通过它们的node-v0.10.30.pkg(http://nodejs.org/download/)在默认的/usr/local/bin/Node位置安装了Node。
  • 节点安装程序包的最后一步包括一个注意,即他们还在默认的/usr/local/bin/NPM位置安装了NPM。
  • my$path回显/usr/local/git/bin://usr/bin:///usr/sbin:///usr/local/bin://usr/local/git/bin(它包含/usr/local/bin)。

运行NPM安装-g bower会导致:

npm ERR! Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm ERR!  { [Error: EACCES, mkdir '/usr/local/lib/node_modules/bower']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/bower',
npm ERR!   fstream_type: 'Directory',
npm ERR!   fstream_path: '/usr/local/lib/node_modules/bower',
npm ERR!   fstream_class: 'DirWriter',
npm ERR!   fstream_stack: 
npm ERR!    [ '/usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23',
npm ERR!      '/usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53',
npm ERR!      'Object.oncomplete (fs.js:107:15)' ] }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "bower"
npm ERR! cwd /Users/Home
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! path /usr/local/lib/node_modules/bower
npm ERR! fstream_path /usr/local/lib/node_modules/bower
npm ERR! fstream_type Directory
npm ERR! fstream_class DirWriter
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, mkdir '/usr/local/lib/node_modules/bower'
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/fstream/lib/dir-writer.js:36:23
npm ERR! fstream_stack /usr/local/lib/node_modules/npm/node_modules/mkdirp/index.js:37:53
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /Users/Home/npm-debug.log
npm ERR! not ok code 0

运行类似的安装(npm安装-g yonpm安装-g gruntnpm安装-g nvmnpm安装-g npm)会导致类似的错误列表。

在线的一些人建议通过sudo强制安装,但其他一些人警告说,这可能会导致以后的问题。这些软件包的手册似乎没有提到sudo的要求,在某些情况下,它们建议在出现此问题时联系NPM。

有谁知道哪里出了问题,如何纠正这一点吗?谢谢你。

共有1个答案

邢雨华
2023-03-14

顺便说一句,我通过将/usr/local的所有者改为我自己来解决这个问题,以便允许NPM在其默认位置设置模块,而不需要为每个包的安装进一步要求sudo

sudo chown -R `whoami` /usr/local
 类似资料:
  • 问题内容: 我正在尝试在我的项目上安装Grunt。它曾经可以完美地运行,但是现在由于某种原因,它并没有。每次我尝试安装Grunt时,都会出现此错误: 奇怪的是丢失的包每次都会更改。 我尝试验证缓存,删除文件夹,使用清理缓存。卸载NPM和NodeJS,重新启动计算机。没有机会 出于安全原因,我不得不格式化计算机,我使用了项目文件夹,但没有使用该文件夹,我不知道这是否有影响,但是自从我重新安装NPM后

  • 问题内容: 我有以下目录结构: 我想为some_project安装依赖项。我知道我可以CD进入some_project然后运行npm install 但是我想知道是否可以不更改目录?就像是 问题答案: 您可以将变体与选项一起使用。在您的方案中,文件夹和前缀将相同:

  • 当我运行< code > NPM install express-save 这个命令时,我得到一个错误。有人能帮我解决这个问题吗? 错误:

  • 问题内容: 有人可以告诉我在哪里可以找到使用我安装的Node.js模块 吗? 问题答案: 全球图书馆 您可以运行以查看安装了哪些全局库以及它们的位置。使用用于显示人的路截断输出。如果您只想显示主软件包而不显示与其一起安装的子软件包(可以使用),则可以使用- 将显示所有软件包并仅获取全局安装的软件包,只需添加-g ie即可。 在Unix系统上,它们通常放在全局中或在全局中安装。如果将环境变量设置为此

  • 问题内容: 运行时,它将软件包安装在我的用户/ AppData / Roaming / npm / npm_modules /文件夹中。该子文件夹不在我的PATH中,因此,如果我尝试运行该程序包而不显式调用整个路径,则调用失败,并显示一个 我该怎么做才能解决此问题? 谢谢 问题答案: 我使用的是win8.1,发现nodejs安装程序未将全局节点模块的路径添加到系统PATH。只需添加到 用户变量 (