问题标签 [package-management]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
98 浏览

validation - 防止在团队环境中更新 NuGet 包

我们有一个包含许多项目的大型解决方案,并且有许多开发人员一起工作。

我们需要一种验证 Nuget 包版本的方法,以确保没有开发人员意外地通过包更新破坏构建。

理想情况下,如果它是已知的不兼容包,是否有办法在 Nuget 包安装期间验证和中断/停止?我们知道我们可以在构建时进行验证,但理想情况下,我希望能够真正停止/通知开发人员构建中不支持较新版本,以防止他们退出并使用较新的包进行构建,仅在构建时发现他们在可能有不同调用等的新包上浪费了时间。

如果这是不可能的,那么在构建时执行此操作的最简单方法是什么?我正在考虑一个预构建脚本,但对其他想法感兴趣。实际上,该脚本将查看其他项目包版本以比较并通知版本是否不正确(并在构建期间停止发布到共享位置)。

0 投票
0 回答
504 浏览

python - 更改 python pip 默认安装目录

我按照指南更改了我的默认安装目录:

~/.pip/pip.conf

这样pip就不干扰了pacman。但是,我需要能够分离 python2 和 python3。那么有没有办法pip2指向~/.python-global/python2pip3指向~/.python-global/python3

0 投票
2 回答
1226 浏览

prolog - 将 aleph 与 SWI-prolog 一起使用:source_sink `library(aleph)' 不存在

我正在尝试使用 SWI-Prolog 导入 Aleph。当我运行我的程序时,我收到以下错误。我需要做什么才能导入library(aleph)?顺便说一句,我已经aleph.pl为我的程序下载了。这是我的测试程序,我知道库 aleph 一定有问题。

我得到了错误:

0 投票
0 回答
306 浏览

debian - 使用 apt_pkg 包(python-apt)以编程方式安装 debian 包

我已经构建了一些 debian 软件包并将它们放在我的主机上。我想在 python 脚本中安装这些包。因此,我使用 apt_pkg 编写了安装函数,如下所示:

如果我使用 apt-get install,安装包没有任何问题,但是使用这个脚本会出现以下错误:

res = self.pkg_manager.do_install(log_file.fileno()) apt_pkg.Error: E:Internal Error, Pathname to install is not absolute 'myPackage_1.0.0_all.deb'

我已将 .deb 文件和 Packages.gz 放在主机中名为“debian”的目录中,并将以下行添加到我的 sources.list :

我不知道我的脚本有什么问题?

0 投票
1 回答
2045 浏览

nuget - 如何使用 NuGet 的内置 PackageManagement 提供程序进行 nuget 还原?

(我有一种强烈的感觉,这里有一些我不理解的基本内容,所以请多多包涵……)

我在一个包含一些包的网络共享上有一个本地 NuGet 包源,并且我有一个NuGet.Config指向该网络共享的用户文件作为包源。在项目文件夹(git 存储库)中,我有一个packages.config文件,该文件按名称引用此本地提要中的包。我想将此包恢复到此项目文件夹中。

我认为,让这件事变得困难的原因在于这不是一个 Visual Studio 项目。我在常规文本编辑器中使用它,并且有一些 PowerShell 构建脚本。

我知道我可以下载 nuget.exe 二进制文件并将其放在我的路径或工作目录中,然后nuget restore从命令行执行,但我在这里试图解决的问题是哲学纯洁性问题之一。即:

  • 我的存储库应该是可移植的,具有最少的先决条件依赖项
  • 我的存储库不得包含无关的二进制文件或不属于它的代码

因此,我无法将nuget.exe二进制文件提交到我的存储库以使其可移植;相反,我想依赖“现代 Windows 10 环境”的先决条件依赖项,它为我提供了 PowerShell 和内置的 PackageManagement 工具,这些工具能够引导包括 PowerShellGet 和 NuGet 在内的各种提供程序。

感觉是正确的道路,因为 PackageManagement 被设计为任何包管理解决方案的内置统一接口。(但我是否误解了这一点,它实际上只是为了将软件安装到您的操作系统或用户帐户?我找不到任何可以清楚地描述这一点的东西。)

那么,是否可以利用内置的 PackageManagement 在Visual Studio 范围之外nuget restore从文件中执行(或等效)操作?packages.config或者如果不是直接的,是否有一个明显/简单的解决方案可以从 PackageManagement 引导到可以完成这种恢复的东西?

0 投票
2 回答
1077 浏览

tfs - Azure Artifacts 代码存储在本地解决方案中的什么位置?

我们有 TFS 2018 的本地版本。我有兴趣在 TFS 中使用包(现在是 Azure Artifacts)功能。我想知道构建和部署的包的源代码存储在哪里。例如,如果我构建了一个 NPM 包的版本,该源代码是存在于我们的本地服务器上还是存在于云中的某个地方?

0 投票
1 回答
286 浏览

installation - Gentoo 软件包掩码不适用于确切的版本号

我在 Gentoo 系统上安装了 mysql-5.6.42。有一个更新的版本 5.7.24,但我不想升级那个版本。所以我屏蔽了 /etc/portage/package.mask 下的包

=dev-db/mysql-5.6.42

例如,当我想升级 php portage 时,想将 mysql 升级到 5.7.24。

为什么 package.mask 不起作用?

我试过 <=dev-db/mysql-5.7.0 结果是一样的。

0 投票
1 回答
2319 浏览

python - 有没有办法将 python 依赖项添加到柯南包

我正在使用 C/C++ 和 Python 中的多个库和包设置一个项目。

我想为 C/C++ 包设置一个二进制存储库,为 python 包设置一个 python 包索引服务器。

我偶然发现了 conan 和 artefactory 来处理 C/C++ 库之间的依赖关系,但我找不到添加标准 python 包依赖关系的明确解决方案。

例如,我的项目“ A ”(C/C++)依赖于“ B ”(C/C++),其中包含使用“ C ”工具(Python)生成的代码。

我想将“ B ”的要求设置为“ C ”作为我的“ C ”工具包的特定分发的 pip 要求。

到目前为止,我看到的解决方案是:

  1. 为我的“ C ”工具创建一个柯南包并在“ B ”中添加要求
  2. 手动处理在“ B ”conanfile.py中安装的“ C ”包

我想避免为 python 包添加柯南包,因为 python 已经有一个包管理系统,我的包将在 python 索引服务器上可用。

我也会避免添加代码来处理 python 包依赖项。

有没有人知道柯南是否可以在一个简单的问题上做到这一点?

谢谢

亚历克斯

0 投票
1 回答
188 浏览

package - 我可以为不同的环境使用不同版本的包吗?

我有一个项目,我需要在本地环境中使用 SQLite,但在普通服务器上使用 Postgres。

不幸的是,目前还没有适用于 Ecto 3 的 SQLite 适配器,这迫使我将 Ecto 和一些相关包保留在2.x,这导致了一些问题,例如:Ecto 2.0 SQL Sandbox Error on tests

我想知道是否可以指定 Ecto 的两个不同版本,从而指定环境:local:prod. 目前这似乎是不可能的,因为每个项目只有一个锁文件。实现它的唯一方法似乎是在项目目录中存储两个不同的锁定文件?例如https://elixirforum.com/t/only-fetch-deps-compatible-for-a-specific-version-of-elixir/16213

0 投票
1 回答
54 浏览

elm - 发布 Elm19 包,第一个版本一次发布 18 个包 Elm19 已经发布

在 Elm19 发布后的一段时间,我发布了一个库,我需要一个 Elm18 代码库:thought2/elm-wikimedia-commons. 这很好用,它在社区驱动的 Elm18 包数据库中列出:https://dmy.github.io/elm-0.18-packages/,可以安装并且一切正常。除了文档没有显示在包详细信息中,但我听说那里是一个已知的错误。(但我仍然认为这很糟糕)

但现在的主要问题是,如何将库迁移到 Elm 19:实际迁移步骤已完成并位于 repo 的主分支:http: //github.com/thought2/elm-wikimedia-commons

Elm18 版本1.1.0同时进行,迁移后必须进行 API 更改,所以我假设最新版本变为2.0.0. 如果我将它添加到elm.json,命令elm publish会告诉我这将是第一个版本,我应该更改它。这是不对的。

经过一番研究,我发现这个包(在同一时间段发布的其他 18 个包中)没有列在这个 json 中:https ://package.elm-lang.org/all-packages这个无论版本如何,都应该包含所有包。

有什么想法该怎么做?这真的阻碍了我的发展,因为我现在被困在两个国家:18 岁和 19 岁。如果有人对我有一些提示或解决方案,将不胜感激!