出于某种原因,你可能需要在将软件包安装到你的 Linux 系统之前对其进行测试。如果是这样,你很幸运!今天,我将向你展示如何在 Linux 中使用 Nix 包管理器来实现。Nix 包管理器的一个显著特性是它允许用户测试软件包而无需先安装它们。当你想要临时使用特定的程序时,这会很有帮助。

测试一个软件包而不在 Linux 中安装它

确保你先安装了 Nix 包管理器。如果尚未安装,请参阅以下指南。

例如,假设你想测试你的 C++ 代码。你不必安装 GCC。只需运行以下命令:

$ nix-shell -p gcc

该命令会构建或下载 gcc 软件包及其依赖项,然后将其放入一个存在 gcc 命令的 Bash shell 中,所有这些都不会影响正常环境。

LANGUAGE = (unset),

LC_ALL = (unset),

LANG = "en_US.UTF-8"

are supported and installed on your system.

perl: warning: Falling back to the standard locale ("C").

download-using-manifests.pl: perl: warning: Setting locale failed.

download-using-manifests.pl: perl: warning: Please check that your locale settings:

download-using-manifests.pl: LANGUAGE = (unset),

download-using-manifests.pl: LC_ALL = (unset),

download-using-manifests.pl: LANG = "en_US.UTF-8"

download-using-manifests.pl: are supported and installed on your system.

download-using-manifests.pl: perl: warning: Falling back to the standard locale ("C").

download-from-binary-cache.pl: perl: warning: Setting locale failed.

download-from-binary-cache.pl: perl: warning: Please check that your locale settings:

download-from-binary-cache.pl: LANGUAGE = (unset),

download-from-binary-cache.pl: LC_ALL = (unset),

download-from-binary-cache.pl: LANG = "en_US.UTF-8"

[...]

fetching path ‘/nix/store/6mk1s81va81dl4jfbhww86cwkl4gyf4j-stdenv’...

perl: warning: Setting locale failed.

perl: warning: Please check that your locale settings:

LANGUAGE = (unset),

LC_ALL = (unset),

LANG = "en_US.UTF-8"

are supported and installed on your system.

perl: warning: Falling back to the standard locale ("C").

*** Downloading ‘https://cache.nixos.org/nar/0aznfg1g17a8jdzvnp3pqszs9rq2wiwf2rcgczyg5b3k6d0iricl.nar.xz’ to ‘/nix/store/6mk1s81va81dl4jfbhww86cwkl4gyf4j-stdenv’...

% Total % Received % Xferd Average Speed Time Time Time Current

Dload Upload Total Spent Left Speed

100 8324 100 8324 0 0 6353 0 0:00:01 0:00:01 --:--:-- 6373

[nix-shell:~]$

检查GCC版本:

[nix-shell:~]$ gcc -v

Using built-in specs.

COLLECT_GCC=/nix/store/dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-5.4.0/bin/gcc

COLLECT_LTO_WRAPPER=/nix/store/dyj2k6ch35r1ips4vr97md2i0yvl4r5c-gcc-5.4.0/libexec/gcc/x86_64-unknown-linux-gnu/5.4.0/lto-wrapper

Target: x86_64-unknown-linux-gnu

Configured with:

Thread model: posix

gcc version 5.4.0 (GCC)

现在,继续并测试代码。完成后,输入 exit 返回到控制台。

[nix-shell:~]$ exit

exit

一旦你从 nix-shell 中退出,你就不能使用 GCC。

这是另一个例子。

$ nix-shell -p hello

这会构建或下载 GNU Hello 和它的依赖关系,然后将其放入 hello 命令所在的 Bash shell 中,所有这些都不会影响你的正常环境:

[nix-shell:~]$ hello

Hello, world!

输入 exit 返回到控制台。

[nix-shell:~]$ exit

现在测试你的 hello 程序是否可用。

$ hello

hello: command not found

有关 Nix 包管理器的更多详细信息,请参阅以下指南。

希望本篇对你有帮助!还会有更好的东西。敬请关注!!

干杯!

本文由 LCTT 原创编译,Linux中国 荣誉推出

软件测试用哪个版本linux,技术|如何在 Linux 中不安装软件测试一个软件包相关推荐

  1. 适合win7的python版本_windows下多个python版本共存,如何在Windows7系统上安装最新的64位Python3.6.2...

    windows下多个python版本共存,如何在Windows7系统上安装最新的64位Python3.6.2 1.官网下载python3.6.2 https://www.python.org/ftp/ ...

  2. java如何给一个链表定义和传值_如何在CUDA中为Transformer编写一个PyTorch自定义层...

    如今,深度学习模型处于持续的演进中,它们正变得庞大而复杂.研究者们通常通过组合现有的 TensorFlow 或 PyTorch 操作符来发现新的架构.然而,有时候,我们可能需要通过自定义的操作符来实现 ...

  3. php利用ajax文件上传,如何在PHP中利用AjaxForm实现一个文件上传功能

    如何在PHP中利用AjaxForm实现一个文件上传功能 发布时间:2020-12-18 14:52:38 来源:亿速云 阅读:94 作者:Leah 如何在PHP中利用AjaxForm实现一个文件上传功 ...

  4. android开发 转跳功能,如何在Android中利用Intent实现一个页面跳转功能

    如何在Android中利用Intent实现一个页面跳转功能 发布时间:2021-02-20 17:06:31 来源:亿速云 阅读:113 作者:Leah 本篇文章为大家展示了如何在Android中利用 ...

  5. 如何在Win7中查看安装软件的文件夹位置

    [时间]2018.10.14 [题目]如何在Win7中查看安装软件的文件夹位置 概述 在Win7系统中,想要知道安装软件的文件夹位置,如果你能够找到软件的快捷方式.或者可以在开始菜单中找到它.或者可以 ...

  6. python中case的用法_如何在Python中使用TestCase实现一个断言功能

    如何在Python中使用TestCase实现一个断言功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题. Python TestCase断 ...

  7. php定时执行任务 回调,如何在php中基于workerman实现一个定时任务

    如何在php中基于workerman实现一个定时任务 发布时间:2021-02-15 18:56:14 来源:亿速云 阅读:92 作者:Leah 这篇文章将为大家详细讲解有关如何在php中基于work ...

  8. 教你如何在maya中一秒建立一个花瓶~!

    教你如何在maya中一秒建立一个花瓶-! maya是3D建模中一个非常重要的工具,为了可以腾出更多的时间打游戏,快速建模,至关重要! 首先,你要了解的是曲线工具,我们将会用到cv曲线工具: 在英文版里 ...

  9. linux exfat分区格式化,技术|如何在 Linux 上将 USB 盘格式化为 exFAT

    本教程教你如何在 Linux 系统上以 exFAT 格式格式化 USB 盘.同时包括 GUI 和命令行两种方法. 长期以来,FAT 是用于格式化磁盘文件系统的默认选择.它与几乎所有主要操作系统兼容. ...

最新文章

  1. 《裂变》作者爆料:欺世盗名者绝非唐骏一人
  2. UNIX创建临时文件
  3. ffmpeg rtsp转hls_Qt音视频开发24-ffmpeg音视频同步
  4. Eclipse .class文件中文乱码
  5. java发送jsp表格邮件_JSP 发送邮件
  6. C#实现Windows开机自启动
  7. 【渗透测试】IIS6.0的安装、使用与相关漏洞
  8. 前端框架Vue(15)——vue-cli 仿网易云音乐 Demo,环境搭建到开发 Vue 全家桶练手项目
  9. MTK 6589 native exif generation
  10. 微信支付商户号申请详细流程介绍
  11. 浩顺 HS-320 打印机驱动
  12. 赛格威机器人待遇_赛格威机器人:泊车助理只是应用之一,开发者计划让机器人有无限可能...
  13. 笔记本高负荷时撞功耗墙、温度墙问题解决方案
  14. linux系统提升硬盘写速度的方法
  15. Could not find apk!终于解决了! 坐在我旁边的领导帮我弄的~~ 大家谢谢他吧~~
  16. 游戏笔记本电脑推荐 多功能游戏本你见过吗?
  17. AWS KVS(Kinesis Video Streams)之WebRTC移植编译(五)
  18. slowfast代码实现和论文理解
  19. ORACLE 11G 聚合函数
  20. 全球土地利用/覆盖数据

热门文章

  1. amd核芯显卡控制面板自定义分辨率_经常升级显卡驱动有必要吗?实测告诉你
  2. 2021年A特种设备相关管理(电梯)考试题库及A特种设备相关管理(电梯)模拟试题
  3. 8.24直播 · 私域圆桌派 | 深刻犀利的观点这里都有
  4. Burp Suite的基本介绍及使用
  5. Docker的基础知识和制作
  6. 屏幕唤醒与解锁解决方案
  7. AcWing 1801. 蹄子剪刀布 附图 超详细
  8. 员工电脑监控的作用,公司电脑能监控哪些?
  9. arduino(10):adruino PLC工业控制之瞎想,不是那个专业的纯属YY的。
  10. mysql里面using btree_MySQL - 执行sql报错USING BTREE