8

我正在努力学习 Node.js,并且在安装 NPM(节点包管理器)时遇到了一些问题。我很确定这要么是权限问题,要么是文件夹问题……请注意,我刚刚购买了一台 Mac(我一生都在使用 Windows),而且我对 Mac 终端非常不熟悉。

好的,我去为 NPM 使用单行安装:我得到了一个错误......curl http://npmjs.org/install.sh | sh

All clean!
! [ -d .git ] || git submodule update --init --recursive
node cli.js rm npm -g -f
node cli.js install -g -f
npm ERR! Could not create /usr/local/lib/node_modules/___npm.npm
npm ERR! error installing npm@1.0.94 Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Darwin 11.0.0
npm ERR! command "node" "/private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/cli.js" "install" "-g" "-f"
npm ERR! cwd /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package
npm ERR! node -v v0.5.9-pre
npm ERR! npm -v 1.0.94
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCESS
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/npm-debug.log
npm not ok
make: *** [install] Error 1
npm ERR! Could not create /usr/local/lib/node_modules/___npm.npm
npm ERR! error installing npm@1.0.94 Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Error: EACCESS, Undefined error: 0 '/usr/local/lib/node_modules'
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Darwin 11.0.0
npm ERR! command "/usr/local/bin/node" "/private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/cli.js" "install" "-gf"
npm ERR! cwd /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package
npm ERR! node -v v0.5.9-pre
npm ERR! npm -v 1.0.94
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCESS
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /private/var/folders/z2/f05c8hx105g79drh6r7hr01w0000gn/T/npm.1219/package/npm-debug.log
npm not ok
It failed

这里显然存在文件夹问题,也许我安装在错误的位置,我的节点文件夹位于 Users/Mike/node,当我尝试使用 NODE_PATH 找出我的节点路径变量时,我收到以下错误:

Michaels-MacBook-Pro:~ Mike$ node node/NODE_PATH  

node.js:203
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module '/Users/Mike/node/NODE_PATH'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Array.<anonymous> (module.js:470:10)
    at EventEmitter._tickCallback (node.js:195:26)

有人可以告诉我我做错了什么吗?我是否需要像这样添加节点路径:

$ export PATH=/path/to/node/0.n.y/bin:${PATH}
$ curl http://npmjs.org/install.sh | sh

还是我自己搞糊涂了?

4

5 回答 5

20

上的权限/usr/local要求您用于sudo安装 NPM,或更改您的权限。在这三个中,我推荐第三个选项

选项#1:使用sudo

(注意 NPM 的创建者不建议使用这种方法

curl http://npmjs.org/install.sh | sudo sh

选项 #2:更改权限

sudo chmod g+rwx /usr/local
sudo chgrp admin /usr/local

选项 #3:使用 Homebrew

我建议安装 Homebrew来管理在 OS X 上安装 *nix 工具(我会远离MacPortsFink)。安装 Homebrew 将设置权限,/usr/local因此您可以在没有sudo. 然后可以通过 Homebrew 安装 Node,然后正常安装 NPM:

brew install node --without-npm
curl http://npmjs.org/install.sh | sh
于 2011-10-09T17:24:07.067 回答
0

使用.curl http://npmjs.org/install.sh | sudo sh

编辑:您正在使用 node -v v0.5.9-pre,它非常不稳定。使用 0.4.12,最新的稳定版本。

于 2011-10-09T17:20:04.887 回答
0

如果您使用的是 windows,则需要一些步骤,1)创建一个名为 package.json 的文件

{ "name": "hello" , "version": "0.0.1" , "dependencies": { "express": "*" } } 其中 hello 是包的名称, * 表示您的依赖项的最新版本

2)代码到您的项目目录并运行以下命令

npm 安装

于 2013-02-14T05:28:57.160 回答
0

作为 OSX 上方法 #3 的更新,现在正确的命令是:

brew install node --without-npm
curl https://www.npmjs.org/install.sh | sh
于 2014-06-13T03:25:39.387 回答
0

选项#4:

将节点本地安装到需要它的用户。

为了我的目的,我应该澄清一下,我需要 npm 在运行 Bamboo 的 OSX 服务器上安装 appium 以进行集成测试。我只有 macports 可用,而不是安装 homebrew 来管理一个包,我决定从源代码构建它并将其安装到本地竹用户。这使我们能够以竹用户身份运行 appium,并使得我们能够以非特权用户身份在 Bamboo 上运行我们的 appium 测试。

Tom Novelli 的本指南介绍了如何做到这一点。基本要点是:

# Make the dir to hold the installation of node
cd
mkdir ./local
mkdir sources
# Tell npm about your new non-default directories
vi .npmrc 
cd sources
# Get node and do the typical source install procedure
wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
tar xf node-v0.10.29.tar.gz
cd node-v8.10.29/
# Important part is the --prefix
./configure --prefix=~/.local
make
make install
# Make a link so node doesn't get confused
cd
ln -s .local/lib/node_modules .node_modules
# Edit PATH to include ~/.local
vi .bashrc

.npmrc

root =    /home/YOUR-USERNAME/.local/lib/node_modules
binroot = /home/YOUR-USERNAME/.local/bin
manroot = /home/YOUR-USERNAME/.local/share/man

.bashrc 或 .profile 或任何你喜欢设置路径的地方

export PATH=$HOME/.local/bin:$PATH

有用的链接

.npmrc手册页很有用。

以防万一这里有一个指向node source的链接。

于 2014-06-18T14:58:19.430 回答