Linux非管理员安装ninja,解决RuntimeError: Ninja is required to load C++ extensions错误

news/2024/12/22 1:57:57/

最近在复现代码的时候,需要用到C++环境进行编译,这就少不了ninja,但是因为服务器是实验室公用的,所以一般没有管理员权限,所以就很难办!!!!
下面是非管理员权限安装ninja:
1、安装re2c(我用的2.2)
下载地址:http://re2c.org/index.html
一般你可以通过本地下载上传到服务器上,然后使用下面的命令解压:


tar -xvzf re2c-2.2.tar.xz
或
tar -xvf re2c-2.2.tar.xz

进入解压好的文件夹下:

cd re2c-2.2/

然后按照官网提示执行:执行下面命令

./configure --prefix=/home/yourName/ninjatest

这里是你自己的路径比如说我的

./configure --prefix=/home/zhangsan/ninja

然后编译

make
make install

测试是否安装成功:

make check

一般下面这种情况是没有问题的:
在这里插入图片描述
配置环境变量,添加如下的路径:

vim ~/.profile
export PATH=/home/yourName/ninjatest/bin:$PATH

这个路径跟上面的是一样的,不要写错了!!!!
然后保存退出,刷新文件

 source ~/.profile

查看是否配置成功。下面这种情况就是正确的,但是如果报错,可以检查一下路径的配置问题。

re2c -V

在这里插入图片描述
2、到第二步才开始安装ninja
下载ninja

git clone https://github.com/ninja-build/ninja.git
cd ninja

生成ninja可执行文件:

./configure.py --bootstrap

在这里插入图片描述
配置环境变量

vim ~/.profile添加环境变量:
export PATH=/home/yourName/ninja:$PATH

如果忘记了路径,可以使用下面的命令查看:

pwd

在这里插入图片描述
然后刷新文件:

 source ~/.profile

此时配置已经全部完成了,可以通过查看版本号 查看是否安装成功:

ninja --version 

在这里插入图片描述
用于日常排错记录,如果有写错的地方,欢迎指出!!!!


http://www.ppmy.cn/news/1405412.html

相关文章

利用甘特图实现精细化项目管控

在项目管理中,通过精细化管控,项目经理能够有效规划、监督和协调各项任务,从而最大限度控制风险,优化资源配置,并确保按时、按质、按量完成项目目标。而在众多项目管理工具中,甘特图无疑是实现精细化项目管控的利器。zz-plan 是一个非常好用的在线甘特图制作工具,一…

EOCR3EZ-05CUH施耐德综合漏电保护继电器

EOCR3EZ-05CUH施耐德综合漏电保护继电器由承德尚越电子代理销售,该产品是施耐德升级款保护器产品,具有过电流,缺相,堵转,逆相,相不平衡,漏电,预报警和密码设置功能。 是韩国三和生产…

基于蚁群算法的三维路径规划(matlab实现)

作品简介 1 理论基础 1.1 三维路径规划问题概述 三维路径规划指在已知三维地图中,规划出一条从出发点到目标点满足某项指标最优,并且避开了所有三维障碍物的三维最优路径。现有的路径规划算法中,大部分算法是在二维规划平面或准二维规划平面…

Linux学习笔记————C 语言版 LED 灯实验

这里写目录标题 一、实验程序编写二、 汇编部分实验程序编写三、C 语言部分实验程序编写四、编译下载验证 汇编 LED 灯实验中,我们讲解了如何使用汇编来编写 LED 灯驱动,实际工作中是很少用到汇编去写嵌入式驱动的,毕竟汇编太难,而…

rtthread 学习

地址对齐 在大多数系统中需要做栈空间地址对齐,例如在 ARM 体系结构中需要向 4 字节地址对齐。 实现栈对齐的方法为,在定义栈之前,放置一条 ALIGN(RT_ALIGN_SIZE)语句,指定接下来定义的变量的地址对齐方式。其中 ALIGN 是在 rtde…

ubuntu下mysql常用命令

1. 登录数据库 mysql -u root -p 2.创建数据库 create database 数据库名字 mysql> create database yourdb; Query OK, 1 row affected (0.03 sec)3.显示数据库 show databases; 实操结果如下 mysql> show databases; -------------------- | Database | ---…

Mysql中的那些索引

主键索引 表的主键使用的就是主键索引,一张表只能有一个主键索引,主键索引不能为null,且不能重复。 主键索引存在于B树的非叶子节点和叶子节点,叶子节点存放的还有数据。 非主键索引 非主键索引也叫二级索引,包括有唯一索引&a…

【Golang星辰图】数据处理的航海家:征服数据海洋的航行工具

数据处理的建筑师:用Go语言中构建稳固的数据分析建筑物 前言 数据处理和分析是现代计算机科学中的关键任务之一,而Go语言作为一门现代化的编程语言,也需要强大的数据处理和分析库来支持其在这一领域的应用。本文将介绍几款优秀的数据处理和…