NodeJs在Linux下使用的各种问题解决

环境:ubuntu16.04

ubuntu中安装NodeJs

通过apt-get命令安装后发现只能使用nodejs,而没有node命令

如果想避免这种情况请看下面连接的这种安装方式:

拓展见:Linux下Nodejs安装(完整详细)

如果想解决问题的话,输入下面的命令即可

sudo ln -s /usr/bin/nodejs /usr/bin/node

npm intsall安装依赖报错

在package.json中添加:

"private": true

拓展见:npm WARN package.json: No repository field

安装npm包的权限问题

安装npm包的时候使用sudo权限

安装gem后报错

Failed to build gem native extension ...

遇到这样的情况通过下面的命令解决

sudo apt-get install ruby1.9.1-dev

或者

sudo apt-get install ruby-dev

拓展见:Failed to build gem native extension — Rails install

添加淘宝源

使用

sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

添加淘宝源后,运行cnpm报错

那是因为乌班图下已经有个node命名的模块

执行下面这段代码解决:

sudo ln -s /usr/bin/nodejs /usr/bin/node

然后你输入node,就没问题了。

拓展见:nodejs vs node on ubuntu 12.04

npm与cnpm的异同

cnpm一般被称为淘宝源的npm命令

npm就是npmjs源的包命令

一般在天朝为了速度,都会换源。下面的命令可以换源

npm config set registry https://registry.npm.taobao.org 

虽然可以cnpm命令用着速度起来了,但是你如果还开发nmp模块的时候,可能会因为换源而遇到坑。

在你使用npm adduser的时候,你输入用户名,密码,邮箱后总是报错。

可能提示你密码或用户名错误,但是你发现你网页登陆npmjs没问题。

那是因为你将npm的源换成了淘宝的,所以你登陆的是淘宝的npm,当然报错了。

你可以查看你的.npmrc文件,看看你的源是什么

registry=https://registry.npmjs.org/
//registry.npmjs.org/:_authToken=.....

所以正确的换源是:将两个命令都保留。

//使用npm安装全局cnpm
sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

这样会产生一个.cnpmrc文件

registry=https://registry.npm.taobao.org
...

这样既不耽误开发npm模块,也不影响你安装依赖的速度。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Linux下Nodejs安装步骤(完整详细)

    之前安装过windows下以及Mac下的node,感觉还是很方便的,不成想今天安装linux下的坑了老半天,特此记录. 首先去官网下载代码,这里一定要注意安装分两种,一种是Source Code源码,一种是编译后的文件.我就是按照网上源码的安装方式去操作编译后的文件,结果坑了好久好久. (一) 编译好的文件 像上图中红色框里面的就是已经编译好的文件,选择好对应的linux版本下载即可,简单说就是解压后,在bin文件夹中已经存在node以及npm,如果你进入到对应文件的中执行命令行一点问题都没有,

  • linux 下部署nodejs项目(两种方式)

    之前在linux下部署过几次NodeJS,也有些经验,最近也在Q群里有朋友问Node在linux下部署问题,于是总结一下,主要介绍两种不同的部署方式,二进制文件直接解压部署和手动编译安装,一来巩固自己的知识,二来希望能对新手有所帮助. 关于在node在linux的部署我认为主要有三种方式, 第一种就是自己下载源码,手动编译二进制,即是部署过程. 第二种方法 直接下载二进制文件解压即可. 第三种方式,使用yum install node或者apt-get install node安装(在linux

  • linux下安装nodejs的详细步骤

    推荐方法: // 下载nvm $ git clone https://github.com/cnpm/nvm.git // 安装你需要的版本,然后你就可以在任何目录下使用node以及npm了 $ nvm install 7.4.0 //新打开的窗口,如果无法实现,那么还需要下面两步 // 1 配置终端启动时自动执行,在 ~/.bashrc, ~/.bash_profile, ~/.profile, 或者 ~/.zshrc 文件添加以下命令:(.profile中修改亲测有效) source ~/g

  • 详解Linux环境下NodeJS的安装配置(HelloWorld)

    最简单的环境安装,测试helloworld.给初学者!! 安装脚本,请仔细阅读逐行执行: #!/bin/bash #检查是否已经安装 rpm -qa | grep python #查版本 python #最好是重新安装 Python推荐版本( >= v2.5.0 & < 3.0.0 ),否则影响nodejs运行 #进入安装目录 cd /usr/local/ #删除原有安装 rm -rf node rm -rf node-v0.10.29-linux-x64 #解压压缩包 tar -zx

  • Linux环境下nodejs的安装图文教程

    1.在官网下载nodejs,选择左边的. 2.选择文件右击点击extract here进行解压 3.进入bin目录,右击选择properties,解压文件可以随意放在系统里一个位置.复制location里的路径 4.添加路径 进入.bashrc文件,在末尾处添加步骤三的location里的路径. 6.在终端输入source .bashrc按回车键,再输出路径:echo $PATH检查路径是否已经添加成功 7.检测是否安装nodejs成功.在js文件目录下点击右键,再点击open in termi

  • linux下安装nodejs及npm的方法

    1.下载npm包 官网下载npm安装包,https://nodejs.org/en/,左边是稳定版右边是最新版. 2.解压,创建链接 将压缩包解压到/opt(一般软件放在该目录)目录下.可以看到bin目录下有两个可执行文件node和npm,在/usr/local/bin中创建该文件的链接 sudo ln -s /opt/node-v0.12.10-linux-x86/bin/node /usr/local/bin/node sudo ln -s /opt/node-v0.12.10-linux

  • NodeJs在Linux下使用的各种问题解决

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linux下Nodejs安装(完整详细) 如果想解决问题的话,输入下面的命令即可 sudo ln -s /usr/bin/nodejs /usr/bin/node npm intsall安装依赖报错 在package.json中添加: "private": true 拓展见:npm WARN pa

  • linux下修改MAC地址问题解决方法

    在linux中,修改MAC地址 # ifdown eth0 # ifconfig eth0 hw ether 12:34:56:78:90:12 (修改的MAC地址跟原来的地址不同) # ifup eth0 (修改成功) 后,用# ifconfig 查看,MAC地址改变了,但之后输入#service network restart 或ifdowneth0命令时,会出现如下错语信息: Device eth0 has MAC address 12:34:56:78:90:12, instead of

  • Linux下IP设置脚本的实例及遇到问题解决办法

    Linux下IP设置脚本的实例及遇到问题解决办法 背景 一个Java web项目有一个功能是IP修改,Linux的IP修改脚本如下: #!/bin/bash #useing parameter ip:netmask:gateway:dns1 #system version:centos6,7/redhat6,7 #read parameter ipaddr=`echo $1|cut -d ":" -f 1` netmask=`echo $1|cut -d ":" -

  • ubuntu 安装linux 下vmVMware tools 步骤及问题解决方法

    一. 菜单栏 "虚拟机" --> "设置 " 使用linux.so镜像文件 此文件在vmware workstation 的安装目录.并且打开CD/DVD的连接. 二.终端执行如下命令 mount /dev/cdrom /mnt/cdrom 挂载 cd /mnt/cdrom cp VMwareXXX.tar.gz /tmp VMwareXXX.tar.gz 为自己vmware tools安装包, 复制到/tmp 目录下 umount /mnt/cdrom 解除

  • linux 下以二进制的方式安装 nodejs

    在一些linux环境下,安装最新的nodejs比较麻烦,因为受到linux源的影响,往往直接通过yum/apt安装的都不是想要的版本,因此,必须自己去选择对应的版本 来安装.但是,nodejs官方又不会为所有的操作系统打包,而编译安装常常又会遇到依赖问题.所以在一些情况下,我们需要在linux机器上,直接下载官方构建好的产出结果来运行. 例如,我们现在需要安装v10.x版本,我们通过wget下载对应的-linux-x64.tar.gz文件,然后通过tar命令将其解压到~/.lib/目录下.(注意

  • Python MySQLdb Linux下安装笔记

    在家里windows环境下搞了一次 见   python MySQLdb在windows环境下的快速安装.问题解决方式 http://www.jb51.net/article/65746.htm 在公司开发需要,再搞一次,linux下的. 发现用编译的方式安装真的很蛋疼,不过也算见见世面,各种问题......奋斗 这里也有两种方式: A.快速安装 B.自己编译 1.最快速最简单方法(赶时间的话) 复制代码 代码如下: sudo yum install MySQL-python 可能遇到问题: 复

  • linux上TCP connection timeout问题解决办法

     linux上TCP connection timeout问题解决办法 最近在产线上经常出现connection timeout的问题,先看看Java 中关于connection timeout 的异常如何产生 JAVA中的timeout java.net.SocketTimeoutException: connect timed out 客户端异常:connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method

  • linux 下同名符号冲突问题解决方案

    linux 下同名符号冲突问题解决方案 最近的工作中遇到如下令人蛋疼的问题: Linux 下有三个模块aa.bb.cc,基本情况如下: cc 编译连接得到 cc.so 动态库,cc 中有如下接口: cc_fun { -- do();//调用名为do的cc模块内部函数 -- } bb 编译连接得到 bb.a 静态库,bb 中有如下接口: bb_fun { -- handle = dlopen(cc.so, RTLD_LAZY);//加载cc.so pccfun = dlsym(handle, "c

随机推荐