node.js - 在 ubuntu 中找不到正确的节点和 npm 实例
问题描述
我在我的 linux 中使用 node 和 npm install 时遇到问题。
这个 hade 是在我工作的项目中开始的,我的全局节点有一些问题,我不记得我的版本是什么,但项目是 10.13.0,我无法构建它。
因此,我通过以下步骤安装了带有 .taz 的版本:
apt自动删除nodejs
提取
.taz
物/opt/node-v10.13.0-linux-x64
将路径放入
~/.profile
和~/.bashrc
(在网络中找到)
export NODEJS_HOME=/opt/node-v10.13.0-linux-x64/bin
export PATH=$NODEJS_HOME:$PATH
- 执行
. ~/.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
解决方案
清除 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
推荐阅读
- bazel - 使用本地安装的 JDK 进行所有 Bazel 操作
- node.js - 某些 Express 路由的 Heroku PostgreSQL 连接不会被终止
- android - Android tts语音名称格式
- javascript - 使用 axios 处理嵌套异步调用的正确方法是什么
- python - 如何在 Python 中将字符串(X 小时 X 分钟 X 秒)转换为日期时间?
- css - 如何将多个类合并为一个?
- python - 在 Pandas/Python 中创建一个只有年份的日期范围
- redis - Redis 想要使用未知 IP 地址进行复制
- azure-sql-data-warehouse - 具有 1 个计算节点的 SQL 数据仓库 (Azure Synapse) 中小维度的复制表分布
- c# - ASP.NET Core 环境变量在更改时重新加载配置