【问题标题】:node / npm failed to install via brew on OSX 10.9.4node / npm 无法在 OSX 10.9.4 上通过 brew 安装
【发布时间】:2014-08-29 19:04:57
【问题描述】:

我认为这是一个新问题,我花了几个小时才弄清楚:

$ brew install node -v
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/node-  0.10.31.mavericks.bottle.tar.gz

..

npm ERR! Error: EACCES, mkdir '/../.npm/nopt/2.1.2'
npm ERR!  { [Error: EACCES, mkdir '/../.npm/nopt/2.1.2']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',

【问题讨论】:

    标签: node.js npm homebrew


    【解决方案1】:

    安装 npm 的问题已通过(感谢https://github.com/Homebrew/homebrew/issues/28501#issuecomment-53907840)解决:

    $ brew update
    $ sudo chown -R $USER /usr/local
    

    但这搞砸了我的系统。在磁盘实用程序中运行修复磁盘权限之前,我无法再使用“sudo”。

    【讨论】:

      【解决方案2】:

      将这些系统库的所有权更改为您的最终用户帐户是不安全的 - 此外,出于已知的安全原因,网络服务器不应由 root 拥有,节点也是如此 - 您已使您的盒子向邪恶开放

      这是在 OSX/linux 上安装 node/npm 的安全方法

      重新开始删除之前的 node.js 和 npm 安装以及这些:

      sudo mv ~/.npmrc ~/.npmrc_ignore
      sudo mv ~/.npm   ~/.npm_ignore
      sudo mv ~/tmp    ~/tmp_ignore
      sudo mv ~/.npm-init.js ~/.npm-init.js_ignore
      

      要以自己的身份安装 nodejs 和 npm,而不是 root,请执行以下命令 (linux):

      mkdir ${HOME}/bin
      

      下载来源:http://nodejs.org/download/

      cd node-v0.10.31
      
      ./configure   --prefix=${HOME}/bin/nodejs
      
      make -j8
      make install
      

      把它放到上面 --prefix 定义的目录中

      export PATH=${HOME}/bin/nodejs/bin:$PATH
      

      NODE_PATH 所以节点可以找到模块的目录,否则 npm install xxx 会将新安装的模块放入当前目录中的目录:

      export NODE_PATH=${HOME}/bin/nodejs/lib/node_modules
      

      执行上述操作并使用语法:npm install xxxxx -g 始终使用 -g 表示全局

      nodejs install 也为您提供 npm :

      ls -la ${HOME}/bin/nodejs/bin
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多