NodeJs在Linux下使用的各种问题
环境:ubuntu16.04
ubuntu中安装NodeJs
通过apt-get命令安装后发现只能使用nodejs,而没有node命令
如果想避免这种情况请看下面连接的这种安装方式:
如果想解决问题的话,输入下面的命令即可
<code>sudo ln -s /usr/bin/nodejs /usr/bin/node<br/> </code>
npm intsall安装依赖报错
在package.json中添加:
<code>"private": true<br/> </code>
拓展见:npm WARN package.json: No repository field
安装npm包的权限问题
安装npm包的时候使用sudo权限
安装gem后报错
<code>Failed to build gem native extension ...<br/> </code>
遇到这样的情况通过下面的命令解决
<code>sudo apt-get install ruby1.9.1-dev<br/> </code>
或者
<code>sudo apt-get install ruby-dev<br/> </code>
拓展见:Failed to build gem native extension — Rails install
添加淘宝源
使用
<code>sudo npm install -g cnpm --registry=https://registry.npm.taobao.org<br/> </code>
添加淘宝源后,运行cnpm报错
那是因为乌班图下已经有个node命名的模块
执行下面这段代码解决:
<code>sudo ln -s /usr/bin/nodejs /usr/bin/node<br/> </code>
然后你输入node,就没问题了。
拓展见:nodejs vs node on ubuntu 12.04
npm与cnpm的异同
cnpm一般被称为淘宝源的npm命令
npm就是npmjs源的包命令
一般在天朝为了速度,都会换源。下面的命令可以换源
<code>npm config set registry https://registry.npm.taobao.org<br/> </code>
虽然可以cnpm命令用着速度起来了,但是你如果还开发nmp模块的时候,可能会因为换源而遇到坑。
在你使用npm adduser的时候,你输入用户名,密码,邮箱后总是报错。
可能提示你密码或用户名错误,但是你发现你网页登陆npmjs没问题。
那是因为你将npm的源换成了淘宝的,所以你登陆的是淘宝的npm,当然报错了。
你可以查看你的.npmrc文件,看看你的源是什么
<code>registry=https://registry.npmjs.org/<br/> //registry.npmjs.org/:_authToken=.....<br/> </code>
所以正确的换源是:将两个命令都保留。
<code>//使用npm安装全局cnpm<br/> sudo npm install -g cnpm --registry=https://registry.npm.taobao.org<br/> </code>
这样会产生一个.cnpmrc文件
<code>registry=https://registry.npm.taobao.org<br/> ... </code>