【linux系统(ubuntu16.04)】Node.js中使用npm命令安装readline-sync模块实现用户键盘输入

本文详细介绍如何在JavaScript中使用Node.js的readline模块进行输入输出操作。从npm的安装配置到readline模块的具体应用,包括常见错误处理及解决方法,适合初学者快速掌握。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记得大一刚开始接触C语言的时候,对scanf()printf()函数印象可深刻了,自己键盘输入的值可以和电脑上的程序交互,哇塞,这也太神奇了吧!?!
哈哈,没错,那时候的me就是这么木有见识…😶…

点击直入正题👇

现在学习JS,突然意识到我怎么还没有用过JS的输入输出函数呢???
请教老师后,甩过来一行代码:

# npm install readline-sync

本来觉得so easy!一行代码安装好对应的模块就解决啦~
在这里插入图片描述
啊,这… …


一. npm使用介绍

npm 是 Node.js 的包管理工具,用来安装各种 Node.js 的扩展。在新版的Node.js已经集成了npm工具。可以通过输入 npm -v 来测试是否成功安装。命令如下,出现版本提示表示安装成功:
在这里插入图片描述
使用npm安装模块的命令也特别简单:
( -g 代表全局安装)

# npm install <Module Name> -g

二. readline模块介绍

Readline是Node.js里实现标准输入输出的封装好的模块,通过这个模块我们可以以逐行的方式读取数据流。官方文档地址:
Node.js v14.7.0 Documentation - Readline
在这里插入图片描述

三. 正确配置npm安装readline

分析一下刚才的报错信息:第一行明显说的是我们缺少一个文件名为package.json的系统文件
在这里插入图片描述
那么我们现在来创建一下这个文件,其实就是先初始化一下你的npm:

npm init

输入代码会出现第一框的提示文字,虽然好多看不懂,但是第二句:

This utility will walk you through creating a package.json file.

翻译一下就是:此实用程序将引导您完成创建包package.json文件。 这不正好就是咱们缺的嘛!
在这里插入图片描述
然后他会引导你一步一步设置属于你的npm包文件,看上图第二个框:有什么名字,版本,描述的设置,实测可以一路下一步…其实哈,还有一个更偷懒的方法:

npm init -y

加个 -y 你就会发现,系统直接帮我们填好了刚才的设置项:
在这里插入图片描述
执行完命令后可以看到用户路径下多了一个package.json文件。再来试试安装命令,结果还是不行:
在这里插入图片描述
这是因为咱们刚才是直接让系统默认配置的package.json文件,其中的description字段和存储库字段并没有填写,现在我们在vim中手动修改一下这两个字段信息:
在这里插入图片描述
第一个的description字段内容随意,不为空即可。切记第二个存储库字段并没有,需要我们自己添加,由于我们目前还是自己学习阶段,可以设置成私有项目即可。
这个时候都配置好啦,再来安装一次试试:
在这里插入图片描述
莫得报错,普天同庆呀~❀❀❀

四. readline的简单使用

装好readline之后,我们来新建一个js文件,在简单使用readline之前需要先引入readline模块:

const readline = require('readline-sync');

然后给大家介绍一种最简单的使用方法:

let name = readline.question("请输入你的名字:"); 
console.log("嗨"+name+",很高兴见到你。");

在这里插入图片描述
需要注意的是一行readline语句只能接收一次用户输入,如果需要输入多个值,需要几个值就得写几行readline语句。而且输入的值默认是字符串类型。

let str = readline.question(""); 
console.log(str.split(""));

var num = readline.question("");
console.log(num);



——————OUTPUT——————
hello world
[
  'h', 'e', 'l', 'l',
  'o', ' ', 'w', 'o',
  'r', 'l', 'd'
]
21
21

当然readline的功能远远不止这些(抛砖引玉),有关readline更多的完整写法请查阅官网API:

Node.js v14.7.0 Documentation - Readline

如果有人做过牛客网的算法题的话,在JavaScript(v8 6.0.0)的执行环境下,接收测试数据用到的也是readline语句(写法更简单,也不用引入):

var num = readline();
<think>好的,我需要帮助用户解决如何安装他们下载的Clang+LLVM 12.0.1的tar.xz文件在Ubuntu 16.04系统上。首先,我得回想一下安装这类压缩包的一般步骤。用户提供的文件名是clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz,看起来是预编译好的二进制包,所以不需要从源码编译,这应该简化了安装过程。 首先,用户可能需要解压这个tar.xz文件。tar.xz通常使用tar命令解压,参数是-J或者使用xz工具先解压再tar。我需要确认正确的解压命令,比如tar -xvf,可能还需要指定解压目录。用户可能不知道需要解压到哪里,通常这类预编译的包可以放在/usr/local或者用户的主目录下,但需要确保路径正确。 然后,解压后的目录结构可能包含bin、lib、include等文件夹,用户需要将这些文件放到系统的相应路径,或者添加到PATH环境变量中。可能需要指导用户如何添加路径到.bashrc或者.profile,这样每次登录后都能直接使用clang和llvm命令。 另外,可能需要检查依赖关系。虽然预编译包通常包含所有依赖,但Ubuntu 16.04比较旧,是否有一些基础库需要安装,比如libstdc++或者其他运行时库?可能需要提醒用户安装这些依赖,或者确认他们的系统是否满足要求。 还有权限问题,解压后的文件可能需要使用sudo复制到系统目录,或者用户可以选择安装到主目录下,不需要root权限。需要给出两种方法的步骤,并说明各自的优缺点。 用户可能遇到的问题包括解压失败,路径设置错误,命令找不到等。需要预先想到这些情况,并给出解决方案,比如检查文件完整性,确认解压路径,更新环境变量等。 最后,验证安装是否成功,通过运行clang --version或者llvm-config --version来确认版本是否正确。可能还需要提醒用户如果之前安装过其他版本的Clang/LLVM,如何处理冲突,比如更新替代版本或者调整PATH顺序。 总结起来,步骤应该是:1. 下载文件并验证完整性;2. 解压到目标目录;3. 添加可执行文件路径到环境变量;4. 安装必要依赖;5. 验证安装。需要详细写出每个步骤的具体命令和注意事项,确保用户能够顺利执行。</think>--- ### **一、准备工作** #### **1. 确认系统兼容性** - **系统要求**:确认你的系统是 **64 位 Linux**(Ubuntu 16.04 或兼容版本)。 可通过以下命令检查: ```bash uname -m # 输出应为 x86_64 lsb_release -a # 查看系统版本 ``` #### **2. 安装依赖** - **基础工具**:确保已安装解压工具和必要依赖: ```bash sudo apt update sudo apt install xz-utils tar curl ``` --- ### **二、安装步骤** #### **1. 解压文件** 假设下载文件位于 `~/Downloads` 目录,执行以下步骤: ```bash cd ~/Downloads # 进入下载目录 tar -xf clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz ``` - **参数说明**: - `-x`:解压文件 - `-f`:指定文件名 #### **2. 移动文件到系统目录(推荐方式)** 将解压后的文件夹移动到 `/usr/local`(需管理员权限): ```bash sudo mv clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04 /usr/local/llvm-12.0.1 ``` - **目录说明**: - 路径 `/usr/local/llvm-12.0.1` 是约定俗成的安装位置,可自定义。 #### **3. 配置环境变量** 编辑用户环境配置文件(如 `~/.bashrc` 或 `~/.zshrc`): ```bash nano ~/.bashrc # 或其他 Shell 配置文件 ``` 在文件末尾添加以下内容: ```bash export PATH="/usr/local/llvm-12.0.1/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/llvm-12.0.1/lib:$LD_LIBRARY_PATH" ``` 保存后执行: ```bash source ~/.bashrc # 使配置生效 ``` --- ### **三、验证安装** #### **1. 检查命令是否可用** ```bash clang --version # 输出应包含 "clang version 12.0.1" llvm-config --version # 输出应为 12.0.1 ``` #### **2. 检查文件路径** 确认可执行文件位于 `/usr/local/llvm-12.0.1/bin`: ```bash ls /usr/local/llvm-12.0.1/bin # 应看到 clang、clang++、llvm-config 等文件 ``` --- ### **四、其他安装方式(可选)** #### **1. 本地安装(无需管理员权限)** 若无法使用 `sudo`,可将文件解压到用户目录(如 `~/llvm-12.0.1`),并更新环境变量: ```bash mv clang+llvm-12.0.1-x86_64-linux-gnu-ubuntu-16.04 ~/llvm-12.0.1 ``` 在 `~/.bashrc` 中添加: ```bash export PATH="$HOME/llvm-12.0.1/bin:$PATH" export LD_LIBRARY_PATH="$HOME/llvm-12.0.1/lib:$LD_LIBRARY_PATH" ``` #### **2. 创建符号链接(简化命令)** 若需全局访问,可为常用工具创建链接: ```bash sudo ln -s /usr/local/llvm-12.0.1/bin/clang /usr/bin/clang-12 sudo ln -s /usr/local/llvm-12.0.1/bin/clang++ /usr/bin/clang++-12 ``` --- ### **五、常见问题** #### **1. 报错“未找到命令”** - **原因**:环境变量未生效或路径配置错误。 - **解决**: ```bash source ~/.bashrc # 重新加载配置 echo $PATH # 检查路径是否包含 LLVM 的 bin 目录 ``` #### **2. 依赖库缺失** - **现象**:运行命令时报错如 `libtinfo.so.5: cannot open shared object file`。 - **解决**:安装缺失库: ```bash sudo apt install libtinfo5 ``` #### **3. 版本冲突** - **现象**:系统安装其他 LLVM 版本,导致路径冲突。 - **解决**:通过完整路径调用指定版本,例如: ```bash /usr/local/llvm-12.0.1/bin/clang --version ``` --- ### **六、卸载方法** 1. 删除安装目录: ```bash sudo rm -rf /usr/local/llvm-12.0.1 ``` 2. 移除环境变量配置(编辑 `~/.bashrc` 删除相关行)。 3. 删除符号链接(如有): ```bash sudo rm /usr/bin/clang-12 /usr/bin/clang++-12 ``` --- **总结**: 1. 解压文件 → 移动至系统目录 → 配置环境变量 → 验证安装。 2. 若需多版本共存,可通过自定义路径和环境变量管理。 3. 优先检查环境变量和依赖库问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值