尝试为Node.js安装npm时出错

我正在学习Node.js,并且在安装NPM(节点包pipe理器)时遇到了一些问题。 我很确定这是一个权限的事情或文件夹的东西…请注意,我刚刚买了一台Mac(我一直使用Windows我的生活),我很不熟悉的Macterminal。

好的,我去使用NPM的一行安装: curl http://npmjs.org/install.sh | sh 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 /节点,当我尝试find我的节点pathvariables使用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) 

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

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

还是我混淆了自己?

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

选项#1:使用sudo

(请注意,NPM的创build者build议不要使用这种方法 )

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

选项#2:更改权限

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

选项#3:使用自制软件

我build议安装Homebrew来pipe理在OS X上安装* nix工具(我会远离MacPorts & Fink )。 安装Homebrew会为/usr/local设置权限,这样你就可以在不使用sudo情况下写信给它。 您可以通过Homebrew安装Node,然后正常安装NPM:

 brew install node --without-npm curl http://npmjs.org/install.sh | sh 

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

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

如果您使用的是Windows,则需要执行以下步骤:1)创build一个名为package.json的文件

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

2)代码给你项目目录并运行下面的命令

npm安装

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

 brew install node --without-npm curl https://www.npmjs.org/install.sh | sh 

选项#4:

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

我应该澄清为我的目的,我需要npm安装运行在我们的集成testing的竹OSX服务器上的appium。 我只有macports可用,而不是安装自制软件来pipe理只有一个包,我决定从源代码build立它,并将其本地安装到竹用户。 这使得我们能够以竹子用户的身份运行appium,并使得我们可以在Bamboo上运行我们的appiumtesting,作为不太有特权的用户。

汤姆·诺维利(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或无论你喜欢设置你的path

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

有用的链接

.npmrc手册页有用。

以防万一这里是链接到节点源 。