我正在学习Node.js,我在安装NPM(Node Package Manager)时遇到了一些问题。我很确定这是一个权限或文件夹的东西......请注意我刚刚购买了一台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找出我的节点路径变量时,我收到以下错误:< / p>
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
或者我在困惑自己?
答案 0 :(得分:21)
/usr/local
上的权限要求您使用sudo
安装NPM,或更改您的权限。在这三个中,我推荐第三个选项。
sudo
(请注意,NPM的创建者advises against using this method)
curl http://npmjs.org/install.sh | sudo sh
sudo chmod g+rwx /usr/local
sudo chgrp admin /usr/local
我建议installing Homebrew管理在OS X上安装* nix工具(我远离MacPorts&amp; Fink)。安装Homebrew将设置/usr/local
的权限,以便您可以在不sudo
的情况下写入。然后,您可以通过Homebrew安装Node,然后正常安装NPM:
brew install node --without-npm
curl http://npmjs.org/install.sh | sh
答案 1 :(得分:0)
使用curl http://npmjs.org/install.sh | sudo sh
。
编辑:你正在使用node -v v0.5.9-pre,这是非常不稳定的。使用0.4.12,最新的稳定版本。
答案 2 :(得分:0)
如果您使用的是Windows,则需要一些步骤,1)创建一个名为package.json的文件
{ “名字”:“你好” ,“版本”:“0.0.1” ,“依赖”:{ “表达”: ”*” } } 其中hello是包的名称,*表示依赖项的最新版本
2)项目目录的代码并运行以下命令
npm install
答案 3 :(得分:0)
作为OSX上方法#3的更新,现在正确的命令是:
brew install node --without-npm
curl https://www.npmjs.org/install.sh | sh
答案 4 :(得分:0)
选项#4:
将节点本地安装到需要它的用户。
我应该为了我的目的澄清我需要npm在运行Bamboo的OSX服务器上安装appium以进行集成测试。我只有macports可用,而不是安装自制软件来管理我决定从源代码构建它的一个软件包,并将其安装在本地用户。这让我们可以像竹子用户一样运行appium,并且可以在Bamboo上运行我们的appium测试作为一个非常特权的用户。
This guide from 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的链接。