有人知道如何搜索haskell模块吗?例如,如果要键入:
$> hadoodledoodledu Control.Concurrent.Threads
Run Code Online (Sandbox Code Playgroud)
它会返回:
concurrent-extras-0.3
concurrent-extras-0.4
bicameral-jacquard-loom-controller-4.2
Run Code Online (Sandbox Code Playgroud)
如果它可以搜索我当地的阴谋集团回购,那将是最好的,但如果这是不可能的,那也没关系。
Nodejs 的 npm 有 package.json 来存储依赖项(用 创建,用npm init修改npm install aPackage anotherPackage --save,并与 一起安装npm install)。
Python 的 pip 有 requirements.txt(在pip freeze > requirements.txt安装包pip install apackage anotherpackage并与 `pip install -r requirements.txt 一起安装后创建)。
Ruby 使用什么文件来存储依赖项?如果我使用 安装gem install sass jekyll etc...,如何将这些 dep 包含在文件中并将它们全部安装在新机器上?
相当于 npm 或 rubygems 的 Python和相当于 `pip install -r requirements.txt`的 gem 指向使用 Gemfile 的 bundler gem - 这是事实上的 Ruby 标准吗?
我有一个从 Hackage 安装的 Haskell 包,使用cabal并希望运行作为包一部分的测试套件,但从cabal文档中我不清楚如何执行此操作。
我试过了:
cabal install --reinstall --enable-tests --run-tests the-package
Run Code Online (Sandbox Code Playgroud)
及其各种组合和排列,但似乎没有运行测试:我没有收到有关测试运行的报告,也没有生成任何我知道测试应该产生的输出。
如何运行作为已安装cabal包或正在安装的包的一部分的测试?
我正在探索 SPM,现在我需要知道如何在我的项目中通过 SPM 导入 Alamofire。
我正在尝试编译一段包含 makefile 的 MATLAB 代码。由于我使用 Windows,因此我需要使用 Cygwin。
我已经下载并安装了 Cygwin。当我尝试使用 编译代码时,出现了未找到的make错误。g++
我在网上搜索了 Cygwin 包管理器并安装了,apt-cyg但是当我搜索g++using时apt-cyg search g++,没有结果!
我已经更新了软件包列表(apt-cyg update),但最终我找不到 Cygwin 的 C++ 编译器!
我如何通过apt-cyg包管理器或任何其他方式来做到这一点?
我正在考虑开始使用Conan包管理器来管理我的 C++ 项目的第三方依赖项,但我找不到如何仅链接到Conan包中的某些库。我使用CMake作为构建系统,并使用Conan多配置CMake生成器:cmake_multi。
按照文档中的示例,我有以下代码:
project(FoundationTimer)
cmake_minimum_required(VERSION 2.8.12)
set(TARGET_NAME timer)
include(${CMAKE_BINARY_DIR}/conanbuildinfo_multi.cmake)
conan_basic_setup(TARGETS)
add_executable(${TARGET_NAME} timer.cpp)
target_link_libraries(${TARGET_NAME} CONAN_PKG::Poco)
Run Code Online (Sandbox Code Playgroud)
在我的CMakeLists.txt。
使用CMake生成解决方案后:
conan install -g cmake_multi -s build_type=Debug -s compiler.runtime=MDd ..\mytimer\
conan install -g cmake_multi -s build_type=Release -s compiler.runtime=MD ..\mytimer\
cmake ..\mytimer\ -G "Visual Studio 14 2015 Win64"
Run Code Online (Sandbox Code Playgroud)
这会生成对Conan包中的所有库以及Poco Conan包所依赖的其他Conan包中的所有库(如OpenSSL和zlib )的依赖关系。
用于调试配置的Visual Studio项目选项中的其他依赖项设置为:
C:\Users\ivan.bobev\.conan\data\Poco\1.7.8p3\pocoproject\stable\package\67348df82fcd362bbf088991f95bb229be582635\lib\PocoUtilmdd.lib
C:\Users\ivan.bobev\.conan\data\Poco\1.7.8p3\pocoproject\stable\package\67348df82fcd362bbf088991f95bb229be582635\lib\PocoMongoDBmdd.lib
C:\Users\ivan.bobev\.conan\data\Poco\1.7.8p3\pocoproject\stable\package\67348df82fcd362bbf088991f95bb229be582635\lib\PocoNetmdd.lib
C:\Users\ivan.bobev\.conan\data\Poco\1.7.8p3\pocoproject\stable\package\67348df82fcd362bbf088991f95bb229be582635\lib\PocoNetSSLWinmdd.lib
C:\Users\ivan.bobev\.conan\data\Poco\1.7.8p3\pocoproject\stable\package\67348df82fcd362bbf088991f95bb229be582635\lib\PocoCryptomdd.lib
C:\Users\ivan.bobev\.conan\data\Poco\1.7.8p3\pocoproject\stable\package\67348df82fcd362bbf088991f95bb229be582635\lib\PocoDatamdd.lib
C:\Users\ivan.bobev\.conan\data\Poco\1.7.8p3\pocoproject\stable\package\67348df82fcd362bbf088991f95bb229be582635\lib\PocoDataSQLitemdd.lib …Run Code Online (Sandbox Code Playgroud) 我正在使用 Packrat 为我的 R 项目设置一个 git 工作流程。每次packrat::snapshot()我的工作区,文件都会packrat.lock随着新的包/版本等而改变,但它也会改变每个包的哈希行,这在检查文件差异以查看从一个提交到另一个提交的变化时有点烦人。
这个Hash真的有必要吗?如果没有,有什么办法可以禁用它吗?
我想在 Virtualenv 中使用 conda install 命令,但不知道该怎么做。
我做了以下事情:
首先我创建了一个名为 tensorflow2 的 Virtualenv
module load python/3.5
virtualenv tensorflow2
source tensorflow2/bin/activate
Run Code Online (Sandbox Code Playgroud)
我检查了我正在使用的 conda:
(tensorflow2) [sky8@gra-login3 ~]$ which conda
~/miniconda3/bin/conda
Run Code Online (Sandbox Code Playgroud)
然后我做了:
pip install conda
Run Code Online (Sandbox Code Playgroud)
我再次检查:
(tensorflow2) [sky8@gra-login3 ~]$ which conda
~/tensorflow2/bin/conda
Run Code Online (Sandbox Code Playgroud)
在这一点上,我以为我在这个 tensorflow2 虚拟环境中使用了 conda。但是,当我执行 conda list 时,输出与虚拟环境之外的 conda 完全相同,而不是单独的 conda。
当我尝试在 conda 列表中导入包时,我失败了。我对 Virtualenv 和 conda 之间的关系以及如何使两者兼容感到困惑。
澄清一下:我必须使用 Compute Canada 预先构建的 Python Wheels来安装tensorflow,所以我不能使用 conda virtual env,我需要使用 conda install 来处理一些依赖项。
我写了一些完全没有依赖关系的包,我把这些包放在我的私人 Gitlab 上。我想用yarn add GIT_URL_TO_PACKAGE --module-folder=my_module. 问题是每次我添加一个新包时,yarn都会在package.json. 但我只想安装命令中指定的包。
有没有选择yarn add或一些技巧?
供参考:
我只想"package manager"从我的私人 Gitlab 下载代码并记录包标签/版本/sha1。Yarn只是一个突然出现在我脑海中的工具。如果npm或其他包管理器可以做到这些,我很乐意切换到那个。
该哈斯克尔工具集是目前最流行的Haskell包管理器,现在,它的主要目标是使大厦哈斯凯尔包重复性。
但是堆栈方法的目标是找到一个巨大的无冲突包修订集,并将其称为snapshot. 通过这种方式,包维护者被推送更新他的包的依赖项,这样它就不会与最近的snapshot.
我不得不说,这个设计太理想了,无法在现实世界中工作。
相比之下,NPM(NodeJS 的包管理器)通过一种更实用的方式来实现这个目标:它允许冗余。在钻石依赖的情况下,例如a -> b, c; b -> d(v1); c -> d(v2),NPM 只需d为b和分别安装两个不同的版本c。这样,使用包的用户就可以像黑盒一样依赖包,无需考虑依赖之间是否存在冲突的深度依赖。
我想知道为什么 Stack 的设计不允许对包进行冗余修订是否有一些实际的原因。是否可以为 Haskell 实现这样的包管理器?它的实施中最困难的部分是什么?