【nodejs改版本】node路径与nodejs版本管理n路径不一致问题

当使用n进行Node.js版本切换后,发现node -v显示的版本不符。原因是未将n的路径加入PATH环境变量。解决方法包括设置NODE_HOME、PATH及NODE_PATH,或者卸载原有nodejs和npm,使用nvm重新安装。

问题描述

使用n(Node版本管理)切换版本后,执行node -v得到的版本还是不对。
在这里插入图片描述

原因如下:

使用的node不是在n安装的目录下(即/usr/local/n/versions/node/5.5.0)

在这里插入图片描述

解决方法

需要把n相关的路径加到PATH里面
export NODE_HOME=/usr/local
export PATH=NODEHOME/bin:NODE_HOME/bin:NODEHOME/bin:PATH
export NODE_PATH=NODEHOME/lib/nodemodules:NODE_HOME/lib/node_modules:NODEHOME/lib/nodemodules:PATH

最后我卸掉了原来的nodejs和npm,下载并使用nvm重新安装解决了这个问题。
!!!!!!!!!!!!!!!!!!!!!
这边需要注意的是:

cielo@ubuntu:~/go/src/github.com/hyperledger/fabric/blockchain-explorer$ nvm ls
        v8.11.1
         system
node -> stable (-> v8.11.1) (default)
stable -> 8.11 (-> v8.11.1) (default)
iojs -> N/A (default)
lts/* -> lts/dubnium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.1 (-> N/A)
lts/dubnium -> v10.16.3 (-> N/A)
cielo@ubuntu:~/go/src/github.com/hyperledger/fabric/blockchain-explorer$ nvm use 8.11.1
nvm is not compatible with the npm config "prefix" option: currently set to "/home/cielo/.npm-global"
Run `npm config delete prefix` or `nvm use --delete-prefix v8.11.1` to unset it.
cielo@ubuntu:~/go/src/github.com/hyperledger/fabric/blockchain-explorer$ npm config delete prefix
/usr/bin/env: ‘node’: Permission denied
cielo@ubuntu:~/go/src/github.com/hyperledger/fabric/blockchain-explorer$ sudo npm config delete prefix
[sudo] password for cielo: 
cielo@ubuntu:~/go/src/github.com/hyperledger/fabric/blockchain-explorer$ nvm use 8.11.1
Now using node v8.11.1 (npm v5.6.0)
cielo@ubuntu:~/go/src/github.com/hyperledger/fabric/blockchain-explorer$ node -v
v8.11.1

nvm is not compatible with the npm config “prefix” option: currently set to “/home/cielo/.npm-global”
Run npm config delete prefix or nvm use --delete-prefix v8.11.1 to unset it.

node遇到了权限问题,但是加上sudo还是有权限问题。最终通过上面黑框的方式解决了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值