安装node和npm的问题
我必须安装节点和NPM。 在安装之前,我做了一些search最好的方法来安装这些东西。 我发现的是:
- 安装
nvm
- 使用
nvm
安装node
- 设置
nvm alias default
以便node
在默认情况下可用。 - 安装
node
您也将获得npm
。 - 将全局模块目录更改为
HOME
某个path,以便在使用npm
安装全局作用域包时,不必使用sudo。 - 再次使用
npm
作为全局模块来安装npm
。 - 将新的全局模块目录的
bin
添加到我们的$PATH
环境variables中
但是做完这个后npm
不工作。 它给出以下错误:
$ npm install -g yo > spawn-sync@1.0.13 postinstall /Users/aapa/.node_modules_global/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync > node postinstall /Users/aapa/.node_modules_global/bin/yo -> /Users/aapa/.node_modules_global/lib/node_modules/yo/lib/cli.js > yo@1.4.7 postinstall /Users/aapa/.node_modules_global/lib/node_modules/yo > yodoctor sh: yodoctor: command not found npm ERR! Darwin 14.3.0 npm ERR! argv "node" "/Users/aapa/.node_modules_global/bin/npm" "install" "-g" "yo" npm ERR! node v0.12.7 npm ERR! npm v2.14.1 npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! yo@1.4.7 postinstall: `yodoctor` npm ERR! spawn ENOENT npm ERR! npm ERR! Failed at the yo@1.4.7 postinstall script 'yodoctor'. npm ERR! This is most likely a problem with the yo package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! yodoctor npm ERR! You can get their info via: npm ERR! npm owner ls yo npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! /Users/aapa/npm-debug.log
这里是所有我运行的实际命令:
#1. Install nvm $curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash #2. Install node using nvm $nvm install node # This will install the latest stable version of node. Here `node` is an alias to stable #node -> stable (-> v0.12.7) (default) #stable -> 0.12 (-> v0.12.7) (default) #3. Set the nvm alias default so that the node will be available by default. $nvm alias default node #4. You will also get npm while installing node. $ which npm /Users/aapa/.nvm/versions/node/v0.12.7/bin/npm #5. Change the global modules directory to some path inside your HOME so that while installing global scoped packages using npm you don't have to use sudo. $ npm config get prefix /Users/aapa/.nvm/versions/node/v0.12.7 $ cd && mkdir .node_modules_global $ npm config set prefix=$HOME/.node_modules_global $ npm config get prefix /Users/aapa/.node_modules_global $ cat .npmrc prefix=/Users/aapa/.node_modules_global #6. Install npm again using npm as a global module. $ npm install npm --global /Users/aapa/.node_modules_global/bin/npm -> /Users/aapa/.node_modules_global/lib/node_modules/npm/bin/npm-cli.js npm@2.14.1 /Users/aapa/.node_modules_global/lib/node_modules/npm #7. Add new global module directory's `bin` to our `$PATH` environment variable $ echo -e '\n\n#adding npm global module location to path\nexport PATH="$HOME/.node_modules_global/bin:$PATH"' >> ~/.bash_profile $ source ~/.bash_profile # check $ which npm /Users/aapa/.node_modules_global/bin/npm
网上还有一些其他相关资源:
- SO-NPM权限错误安装时 – 这里的答案build议使用
sudo
,我试图避免。 - Yeoman问题 – 无法安装yeoman我的Mac上运行OS X优胜美地10.10.1 – 我想我已经做了一切根据解决scheme在这里,除了这里的解决scheme使用
.bashrc
和我已经使用.bash_profile
。
我不知道我在哪里做错了。 有任何想法吗?
我认为最简单的方法是从网站nodejs.org下载节点并安装它。
之后打开你的cmd,从那里进入下载nodejs文件夹并input
npm install package-name
如果你想全局安装,那么使用-g就好
npm install package-name -g
最简单的解决scheme就是不做第5,6,7步。
缺点是你必须分别为你正在使用的每个版本的节点安装你的全局variables,但是这听起来像你不经常更换版本。