mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
PRF:20180605 How To Test A Package Without Installing It In Linux.md
@geekpi
This commit is contained in:
parent
e5ffa69c26
commit
9e8aeeb36a
@ -1,22 +1,25 @@
|
|||||||
如何在 Linux 中不安装软测试一个软件包
|
如何在 Linux 中不安装软测试一个软件包
|
||||||
======
|
======
|
||||||
![](https://www.ostechnix.com/wp-content/uploads/2018/06/nix-720x340.png)
|
|
||||||
出于某种原因,你可能需要在将软件包安装到你的 Linux 系统之前对其进行测试。如果是这样,你很幸运!今天,我将向你展示如何在 Linux 中使用 **Nix** 包管理器来实现。Nix 包管理器的一个显著特性是它允许用户测试软件包而无需先安装它们。当你想要临时使用特定的程序时,这会很有帮助。
|
|
||||||
|
|
||||||
|
![](https://www.ostechnix.com/wp-content/uploads/2018/06/nix-720x340.png)
|
||||||
|
|
||||||
|
出于某种原因,你可能需要在将软件包安装到你的 Linux 系统之前对其进行测试。如果是这样,你很幸运!今天,我将向你展示如何在 Linux 中使用 **Nix** 包管理器来实现。Nix 包管理器的一个显著特性是它允许用户测试软件包而无需先安装它们。当你想要临时使用特定的程序时,这会很有帮助。
|
||||||
|
|
||||||
### 测试一个软件包而不在 Linux 中安装它
|
### 测试一个软件包而不在 Linux 中安装它
|
||||||
|
|
||||||
确保你先安装了 Nix 包管理器。如果尚未安装,请参阅以下指南。
|
确保你先安装了 Nix 包管理器。如果尚未安装,请参阅以下指南。
|
||||||
|
|
||||||
例如,假设你想测试你的 C++ 代码。你不必安装 GCC。只需运行以下命令:
|
例如,假设你想测试你的 C++ 代码。你不必安装 GCC。只需运行以下命令:
|
||||||
|
|
||||||
```
|
```
|
||||||
$ nix-shell -p gcc
|
$ nix-shell -p gcc
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
该命令会构建或下载 gcc 软件包及其依赖项,然后将其放入一个存在 **gcc** 命令的 Bash shell 中,所有这些都不会影响正常环境。
|
该命令会构建或下载 gcc 软件包及其依赖项,然后将其放入一个存在 `gcc` 命令的 Bash shell 中,所有这些都不会影响正常环境。
|
||||||
|
|
||||||
```
|
```
|
||||||
LANGUAGE = (unset),
|
LANGUAGE = (unset),
|
||||||
LC_ALL = (unset),
|
LC_ALL = (unset),
|
||||||
LANG = "en_US.UTF-8"
|
LANG = "en_US.UTF-8"
|
||||||
are supported and installed on your system.
|
are supported and installed on your system.
|
||||||
@ -51,10 +54,10 @@ Dload Upload Total Spent Left Speed
|
|||||||
100 8324 100 8324 0 0 6353 0 0:00:01 0:00:01 --:--:-- 6373
|
100 8324 100 8324 0 0 6353 0 0:00:01 0:00:01 --:--:-- 6373
|
||||||
|
|
||||||
[nix-shell:~]$
|
[nix-shell:~]$
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
检查GCC版本:
|
检查GCC版本:
|
||||||
|
|
||||||
```
|
```
|
||||||
[nix-shell:~]$ gcc -v
|
[nix-shell:~]$ gcc -v
|
||||||
Using built-in specs.
|
Using built-in specs.
|
||||||
@ -67,39 +70,39 @@ gcc version 5.4.0 (GCC)
|
|||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
现在,继续并测试代码。完成后,输入 **exit** 返回到控制台。
|
现在,继续并测试代码。完成后,输入 `exit` 返回到控制台。
|
||||||
|
|
||||||
```
|
```
|
||||||
[nix-shell:~]$ exit
|
[nix-shell:~]$ exit
|
||||||
exit
|
exit
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
一旦你从 nix-shell 中退出,你就不能使用 GCC。
|
一旦你从 nix-shell 中退出,你就不能使用 GCC。
|
||||||
|
|
||||||
这是另一个例子。
|
这是另一个例子。
|
||||||
|
|
||||||
```
|
```
|
||||||
$ nix-shell -p hello
|
$ nix-shell -p hello
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
这会构建或下载 GNU Hello 和它的依赖关系,然后将其放入 **hello** 命令所在的 Bash shell 中,所有这些都不会影响你的正常环境:
|
这会构建或下载 GNU Hello 和它的依赖关系,然后将其放入 `hello` 命令所在的 Bash shell 中,所有这些都不会影响你的正常环境:
|
||||||
|
|
||||||
```
|
```
|
||||||
[nix-shell:~]$ hello
|
[nix-shell:~]$ hello
|
||||||
Hello, world!
|
Hello, world!
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
输入 exit 返回到控制台。
|
输入 `exit` 返回到控制台。
|
||||||
|
|
||||||
```
|
```
|
||||||
[nix-shell:~]$ exit
|
[nix-shell:~]$ exit
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
现在测试你的 hello 程序是否可用。
|
现在测试你的 `hello` 程序是否可用。
|
||||||
|
|
||||||
```
|
```
|
||||||
$ hello
|
$ hello
|
||||||
hello: command not found
|
hello: command not found
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
有关 Nix 包管理器的更多详细信息,请参阅以下指南。
|
有关 Nix 包管理器的更多详细信息,请参阅以下指南。
|
||||||
@ -117,7 +120,7 @@ via: https://www.ostechnix.com/how-to-test-a-package-without-installing-it-in-li
|
|||||||
作者:[SK][a]
|
作者:[SK][a]
|
||||||
选题:[lujun9972](https://github.com/lujun9972)
|
选题:[lujun9972](https://github.com/lujun9972)
|
||||||
译者:[geekpi](https://github.com/geekpi)
|
译者:[geekpi](https://github.com/geekpi)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user