在ubuntu20.04配置完node和npm环境后,想全局安装yarn和nrm,一个用来装依赖,另一个用来换源
装yarn出问题
于是先sudo apt-get install yarn,安装之后输入yarn --version,出来的版本号是0.32+git,而不是1.22.19
一开始感觉有版本输出应该就可以了,于是到项目安装依赖,输入yarn,但是却不管用,找不到命令
- 马后炮一下,这里可能是我直接就装apt install yarn,没有按别人博客所说导入软件源的 GPG key 并且添加 Yarn APT 软件源到你的系统,才导致我装错了,但我没试过我也不知道,下面这代码我也没跑,也不知道跑了会咋样
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
npm install -g后出问题
找不到命令于是怀疑yarn没装上,用npm install -g yarn再装了一次,再输入yarn --version,出来的版本号还是是0.32+git,于是使用npm list -g查看npm全局安装了什么包
发现是有的,那为什么没办法用呢?
而且npm全局安装nrm后也是一样的问题,使用npm list -g查看看得到,但是用不了
于是先把安装的yarn,nrm全部卸载,回到最开始的状态,发现0.32+git的那个yarn是个python文件,就是apt install装错了,于是马上搜apt install yarn下载的有关的文件,进行删除
然后用npm uninstall -g yarn再把npm全局安装的也删除,nrm也删除了
但我用npm install -g再次全局安装yarn,nrm之后仍旧不能用
-
以为是node位置问题,把node目录从/usr/local移到了/usr/local/bin,并重新设置了软链接,结果node -v 和 npm -v 都能输出正确的版本号,但全局安装的东西还是用不了
-
以为是用zsh一些配置不行,用
chsh -s /bin/bash从zshell切换回原来的shell,还是不行
解决
最后找到大神文章qa.1r1g.com/sf/ask/2890…
问题解决,在.bashrc下添加了这两句,配置了一下shell
# 这里写自己node的bin目录的路径
NPM_GLOBALS=/usr/local/n/versions/node/{NODE VERSION}/bin
PATH=$NPM_GLOBALS:$PATH
之后发现还可以在/etc/environment这个文件里加入
也可以达到效果,可以yarn安装依赖,也可以nrm ls查看源了