mac添加环境变量
两个问题:
1.nodejs的安装
使用Mac OS X Binaries (.tar.gz)(64位)来安装:
http://www.nodejs.org/download/
安装参照:http://blog.snowinmay.net/?p=41
安装要点:
1.1把之前的nodejs文件都清理掉:
rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1
1.2解压文件到自己喜欢的目录(最好是系统默认的程序安装目录,这样不用写环境变量)
我写的环境变量:export PATH="~/work/node/bin:$PATH"
我这次安装nodejs出现问题是因为在复制文件的时候把bin文件夹中的文件多复制了一层:
本来应该是这样的:
Prince-2:node snowinmay$ ls
ChangeLog README.md include share LICENSE bin lib
Prince-2:node snowinmay$ cd bin/
Prince-2:bin snowinmay$ ls
node npm
node和npm在bin中,我复制的时候把node和npm放在了bin/bin/下面,所以和环境变量对应不起来了。
2.npm的安装
npm的出错分两次,第一次是因为:curl https://npmjs.org/install.sh | sh 写错了,提示错误一直是:
directory sh: line 2: syntax error near unexpected token<'
'h: line 2: `<head><title>301 Moved Permanently</title></head>
Prince-2:node snowinmay$ sudo npm install -g npmlog
正确的写法应该是:
curl -0 -L http://npmjs.org/install.sh | sudo sh
运行之后提示:
npm cannot be installed without nodejs.
Install node first, and then try again.
Maybe node is installed, but not in the PATH?
Note that running as sudo can change envs.
PATH=~/work/node/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451@global/bin:/Users/snowinmay/.rvm/rubies/ruby-2.0.0-p451/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/snowinmay/.rvm/bin
提示环境变量写错了,怪不得之前用:which node 和which npm都无效,看了一下环境变量文件:
export PATH="~/work/node/bin:$PATH" 改成了:
export PATH="$HOME/work/node/bin:$PATH"
Prince-2:bin snowinmay$ which node
/Users/snowinmay/work/node/bin/node
Prince-2:bin snowinmay$ which npm
/Users/snowinmay/work/node/bin/npm
Prince-2:bin snowinmay$ $PATH
-bash: /Users/snowinmay/work/node/bin:/Users/snowinmay/work/node/bin:~/work/node/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451@global/bin:/Users/snowinmay/.rvm/rubies/ruby-2.0.0-p451/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/snowinmay/.rvm/bin:/Users/snowinmay/.rvm/bin:/Users/snowinmay/.rvm/bin: No such file or directory
运行:
Prince-2:~ snowinmay$ curl -0 -L http://npmjs.org/install.sh | sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 193 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 6711 100 6711 0 0 2324 0 0:00:02 0:00:02 --:--:-- 5386
tar=/usr/bin/tar
version:
bsdtar 2.8.3 - libarchive 2.8.3
install npm@latest
fetching: http://registry.npmjs.org/npm/-/npm-1.4.21.tgz
0.10.29
1.4.21
cleanup prefix=/Users/snowinmay/work/node
find: /Users/snowinmay/work/node/share/man: No such file or directory
find: /Users/snowinmay/work/node/share/man: No such file or directory
find: /Users/snowinmay/work/node/lib/node: No such file or directory
find: /Users/snowinmay/work/node/lib/node: No such file or directory
All clean!
> npm@1.4.21 prepublish .
> node bin/npm-cli.js prune --prefix=. --no-global && rm -rf test/*/*/node_modules && make -j8 doc
make: Nothing to be done for `doc'.
/Users/snowinmay/work/node/bin/npm -> /Users/snowinmay/work/node/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.21 /Users/snowinmay/work/node/lib/node_modules/npm
It worked
问题结束
===================================
/etc/profile;/etc/bashrc 是针对系统所有用户的全局变量,只有root用户才能修改这两个文件,对一般用户来说是他们是只读的。一般用户要想修改它们,可以在命令前加sudo,意思是以Root身份执行,比如:sudo vi /etc/profile ,然后按照提示输入密码即可。
Prince-2:~ snowinmay$ vim .bash_profile
Prince-2:~ snowinmay$ source ~/.bash_profile
Prince-2:~ snowinmay$ $PATH
-bash: ~/work/node/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451/bin:/Users/snowinmay/.rvm/gems/ruby-2.0.0-p451@global/bin:/Users/snowinmay/.rvm/rubies/ruby-2.0.0-p451/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/snowinmay/.rvm/bin:/Users/snowinmay/.rvm/bin: No such file or directory
但是npm还是不能用:
Prince-2:node snowinmay$ node -v
v0.10.29
Prince-2:node snowinmay$ npm -v
module.js:340
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at /Users/snowinmay/work/node/bin/npm:19:11
at Object.<anonymous> (/Users/snowinmay/work/node/bin/npm:87:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
Prince-2:node snowinmay$
Prince-2:node snowinmay$
Prince-2:node snowinmay$ make install
make: * No rule to make target install'. Stop. Prince-2:node snowinmay$ curl https://npmjs.org/install.sh | sh % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 193 100 193 0 0 119 0 0:00:01 0:00:01 --:--:-- 153 sh: line 1: html: No such file or directory sh: line 2: syntax error near unexpected token<'
'h: line 2: `<head><title>301 Moved Permanently</title></head>
Prince-2:node snowinmay$ sudo npm install -g npmlog
Password:
sudo: npm: command not found
Prince-2:node snowinmay$
Prince-2:node snowinmay$ which node
Prince-2:node snowinmay$ which npm
mac添加环境变量的更多相关文章
- mac 添加环境变量(jmeter添加至环境变量中)
Mac系统的环境变量,加载顺序为:a. /etc/profileb. /etc/pathsc. ~/.bash_profiled. ~/.bash_logine. ~/.profilef. ~/.ba ...
- mac 添加环境变量
1.Mac系统的环境变量,加载顺序为: a. /etc/profile b. /etc/paths c. ~/.bash_profile d. ~/.bash_login e. ~/.profile ...
- Mac添加环境变量的三种方法
法一: sudo vi /etc/paths 来编辑 paths,将环境变量添加到 paths 中. vim 是一个编辑器,另外还有几个,如:Pico,Emacs. Hint:输入环境变量时,不用一个 ...
- Mac添加环境变量方法
一句话总结:找到paths文件编辑一下把要加路径写进去 转载注明出处http://www.cnblogs.com/billyrun/p/8631165.html 1.终端输入命令open /etc 开 ...
- mac下添加环境变量
1.环境变量相关文件说明: a. /etc/profile b. /etc/paths c. ~/.bash_profile d. ~/.bash_login e. ~/.profile f. ~/. ...
- Mac配置环境变量注意点
Mac配置环境变量的地方 1./etc/profile (建议不修改这个文件 ) 全局(公有)配置,不管是哪个用户,登录时都会读取该文件. 2./etc/bashrc (一般在这个文件中添加 ...
- mac laravel 环境变量设置bash_profile
mac laravel 环境变量设置bash_profile >>>vim ~/.bash_profile '''text export PATH=$PATH:~/.composer ...
- Mac 中环境变量的配置
1. 基本了解 1.1. 查看当前path 在讲解Mac环境变量配置之前,大家可以打开dos框,输入 echo $PATH 查看当前的path. 本机结果: /usr/local/bin:/usr/l ...
- MAC设置环境变量
1. Mac 启动加载文件位置(可设置环境变量) ------------------------------------------------------- (1)首先要知道你使用的Mac OS ...
随机推荐
- [ACM_水题] UVA 11729 Commando War [不可同时交代任务 可同时执行 最短完成全部时间 贪心]
There is a war and it doesn't look very promising for your country. Now it's time to act. You have a ...
- 深入浅出OOP(一): 多态和继承(早期绑定/编译时多态)
在本系列中,我们以CodeProject上比较火的OOP系列博客为主,进行OOP深入浅出展现. 无论作为软件设计的高手.或者菜鸟,对于架构设计而言,均需要多次重构.取舍,以有利于整个软件项目的健康构建 ...
- ActiveReports 9实战教程(3): 图文并茂的报表形式
基于上面2节内容,我们搭建了AR9的开发环境,配置好了数据源.在本节,我们以官方提供的3个中文图文并茂的报表来展示AR9的功能,并通过实战的方式一一分享. 以往做报表相关的工作时,最害怕的是报表的UI ...
- paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较
paip.提高效率---集合的存取括号方式 uapi java python php js 的实现比较 ##java ----------- 在JDK1.7中,摒弃了Java集合接口的实现类,如:Ar ...
- webview长按事件js监听
做app开发时,用到了webview,需要监听webview的长按事件,使用原生的js处理监听如下: ; //定时器 //开始按 function gtouchstart() { timeOutEve ...
- javaweb回顾第六篇谈一谈Servlet线程安全问题
前言:前面说了很多关于Servlet的一些基础知识,这一篇主要说一下关于Servlet的线程安全问题. 1:多线程的Servlet模型 要想弄清Servlet线程安全我们必须先要明白Servlet实例 ...
- android: SQLite删除数据
删除数据对你来说应该就更简单了,因为它所需要用到的知识点你全部已经学过了. SQLiteDatabase 中提供了一个 delete()方法专门用于删除数据,这个方法接收三个参数,第一 个参数仍然是表 ...
- const成员函数
尽管函数名和参数列表都相同,void foo( ) const成员函数是可以与void foo( )并存的,可以形成重载! 我们假设调用语句为obj.foo(),如果obj为non-const对象,则 ...
- Multiplexing SDIO Devices Using MAX II or CoolRunner-II CPLD
XAPP906 Supporting Multiple SD Devices with CoolRunner-II CPLDs There has been an increasing demand ...
- Entity Framework一对多关系添加数据的两种方式
当使用Entity Framework添加一对多关系数据的时候,通常先添加一的数据,然后再添加多的数据.类似这样: //添加一的数据 var category = new Category{Name= ...