首页 > 解决方案 > 在 ubuntu 中找不到正确的节点和 npm 实例

问题描述

我在我的 linux 中使用 node 和 npm install 时遇到问题。

这个 hade 是在我工作的项目中开始的,我的全局节点有一些问题,我不记得我的版本是什么,但项目是 10.13.0,我无法构建它。

因此,我通过以下步骤安装了带有 .taz 的版本:

  1. apt自动删除nodejs

  2. 提取.taz/opt/node-v10.13.0-linux-x64

  3. 将路径放入~/.profile~/.bashrc(在网络中找到)

export NODEJS_HOME=/opt/node-v10.13.0-linux-x64/bin
export PATH=$NODEJS_HOME:$PATH
  1. 执行. ~/.profile ~/.bashrc

好吧,在那之后我的 node -v 工作了,但是 node hello 得到了这个错误

internal/modules/cjs/loader.js:582
throw err;
^

Error: Cannot find module '/home/gustavo-rey/Área de Trabalho/vue-curso/vue-cli/bla'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15)
at Function.Module._load (internal/modules/cjs/loader.js:506:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
at startup (internal/bootstrap/node.js:285:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:739:3

但是,我的 npm 停止处理此错误:

bash: /usr/bin/npm: File or directory not found

你能帮忙吗?我无法更改我的节点版本...

解析度

在 Jatin 的帮助下,我可以使用 sudo n [version.number] 安装正确的版本,但是,我需要从 $PATH 中删除我的旧应用程序:

$ echo $PATH
/opt/node-v10.13.0-linux-x64/bin:/opt/node-v10.13.0-linux-x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

$ export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

标签: node.jslinuxnpm

解决方案


  • 清除 npm 缓存:

    npm cache clean -f
    
  • 安装 n,Node 的版本管理器:

    npm 安装 -gn

  • 安装 n 模块后,您可以使用它来:

     Install the latest stable version: sudo n stable
     Install the latest release: sudo n latest
     Install a specific version: sudo n [version.number]
    

对于权限

首先使用此命令检查(请检查其路径是否正确)的权限/opt/node-v10.13.0-linux-x64/lib/node_modules/n

ls -la /opt/node-v10.13.0-linux-x64/lib/node_modules/n

很确定它可能归 root 或其他用户所有

然后运行whoami

最后

sudo chown -R $USER /opt/node-v10.13.0-linux-x64/lib/node_modules/n

推荐阅读