首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在MacOs和fish上安装ghc ( Haskell编译器)时,解决了“${ is not a valid variable in fish”错误

在MacOS和fish上安装ghc(Haskell编译器)时,出现"${ is not a valid variable in fish"错误的解决方法如下:

  1. 首先,确保你已经安装了Homebrew,它是MacOS上的包管理器。如果尚未安装,请打开终端并执行以下命令安装Homebrew:
代码语言:txt
复制
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. 安装fish shell,如果你已经安装了fish,请跳过此步骤。在终端中执行以下命令安装fish:
代码语言:txt
复制
brew install fish
  1. 设置fish为默认shell。在终端中执行以下命令:
代码语言:txt
复制
echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish
  1. 重新启动终端,确保fish已经成为默认shell。
  2. 使用Homebrew安装ghc。在终端中执行以下命令:
代码语言:txt
复制
brew install ghc
  1. 安装过程可能需要一些时间,请耐心等待。
  2. 安装完成后,验证ghc是否成功安装。在终端中执行以下命令:
代码语言:txt
复制
ghc --version

如果成功安装,将显示ghc的版本信息。

通过以上步骤,你应该能够在MacOS和fish上成功安装ghc,并解决"${ is not a valid variable in fish"错误。请注意,这些步骤仅适用于MacOS和fish shell,如果你使用其他操作系统或shell,请参考相应的文档进行安装和配置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ubuntu 14.04 install haskell

文件 PATH="/usr/local/ghc/bin:$PATH" source ~/.bashrc ghci #验证是否安装成功 sudo aptitude purge ghc Cabal是Haskell...cabal-install是另一个Haskell安装库,提供cabal命令行程序,该程序安装新包时会自动解决包依赖关系。...安装了cabal-install就可以,因为cabal-install依赖与cabal,安装程序会自动下载cabal并安装。...中包含这些包,但是由于使用apt-get安装不能获得最新的版本或者会出现一些问题,比如network-2.6.0.2通过cabal总是安装,报编译错误 这种使用源码安装的方式很好的解决这些问题。...安装相关haskell包的时候可能会出现broken package错误,可以通过以下命令haskell中移除broken package ghc-pkg check --simple-output

70210

Pandoc安装实现Markdown转PDF (CentOS6)

据说在出版行业也使用。...官方网址:https://pandoc.org/ Pandoc安装 由于Centos6的yum源中haskell相关的版本都比较老了,所有须要自行源码安装,须要安装的内容有:ghc, cabal, pandoc...ghchaskell编译器,cabal是一种包管理器,可以很方便的自动安装各种包依赖,pandoc就是使用cabal来安装的,TeX是一种文档排版系统,texlive是like unix下的一种TeX...所以我下载安装7.8.2, 下载安装源码包 $ wget http://www.haskell.org/ghc/dist/7.8.2/ghc-7.8.2-x86_64-unknown-linux-centos65...另外本文只介绍CentOS操作系统比较合适的安装方式,其他的比如Ubuntu可能有更好的更方便的安装方式,请参考Pandoc官方文档http://pandoc.org/installing.html

2.2K60

Haskell

Haskell是一种标准化的、通用纯函数式编程语言,有非限定性语义强静态类型,Haskell中,函数是一等公民。...通过官网,你可以下载到它的运行环境,目前Haskell根据你不同的场景需求,提供几种安装包,最小的尝试,我们可以从Minimal installers开始,你可以根据你的操作系统平台来选择下载Core...这两种安装包,都包含了ghc。...ghc包含了三个主最要的部分: ghc 编译器 ghci 交互式解析器调试器 runghc 以脚本的方式运行Haskell 而我们即将学习的起点就是ghci中来练习Haskell的基本语法。...回归语言Haskell,函数式的编程其实有一点,大家都很清楚,用很少的代码来完成一件事情。Haskell还可以定义跟数学的过程一一对应,这就很有意思

83630

Rust 环境搭建 Hello World!

它主要有以下三个特点: 高性能,内存利用率极高且没有垃圾回收; 可靠性,通过丰富的类型系统所有权模型保证内存安全线程安全,编译器消除各种错误; 生产力,包管理构建工具强大,生态完善。 2....Rust 环境安装 2.1 基础安装 如果你使用的是 linux 或 macOS 环境,那么只需要执行下面的命令: $ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs...fish 或是其他没能被识别出来的 shell,你需要自己去 export 这个环境变量。...2.2 其他环境 macOS ,你还需要执行下面的命令来构建 C 语言编译器: $ xcode-select --install ubuntu ,你需要执行的是下面的命令: $ sudo apt...install build-essential windows ,直接从官网下载安装安装即可,但在此之前,你需要装 Visual Studio 工具中的 C++ build tools。

46200

Little Tips 记录

碎片 过滤字符串中的emoji表情符号[Python] 最近在抓取了几十万条微博数据,目的是对其进行情感分析,这就需要过滤掉内容中表情等特殊符号。...Google一圈以后,发现很多方法过滤的效果不好,因此自己记录一下,如何更加全面的过滤掉表情符号。这个方法综合使用了正则表达式emoji库。...Firefox开启Youtube的4k视频 macOSFirefox默认不能看Youtube的4k及以上分辨率视频,调整ff的设置即可打开。...Firefox中打开about:config 搜索media.mediasource.webm.enabled 将其值设置为true即可 macOS fish shell 终端设置代理 安装 fish...vim ~/.config/fish/config.fish 输入以下设置,端口号按照自己代理的配置进行更改: set -x https_proxy http://127.0.0.1:7890 set

83520

C++系列笔记(五)

【导读】《21天学通C++》这本书通过大量精小短悍的程序详细而全面的阐述C++的基本概念技术,包括管理输入/输出、循环和数组、面向对象编程、模板、使用标准模板库以及创建C++应用程序等...这些内容被组织成结构合理、联系紧密的章节,每章都可在1小内阅读完毕,都提供示例程序清单,并辅以示例输出代码分析,以阐述该章介绍的主题。本文是系列笔记的第五篇,欢迎各位阅读指正!...如果您试图通过Platypus 实例访问 Animal::Age(如第 42 行所示),将导致编译错误,因为编译器不知道您要设置Mammal::Animal::Age、Bird::Animal::Age...解决方案是使用虚继承。...从Base类派生出Derived1Derived2类,如果使用了关键字virtual,则意味着再从Derived1Derived2派生出Derived3,每个Derived3实例只包含一个Base

65730

36.5K Star开源一款轻量,迅速,高颜值定制化的命令行工具,让终端工作更高效!

以下是关于 Starship 的功能特点使用步骤的介绍: 功能特点 1.高度可定制性:Starship 提供丰富的自定义选项,允许用户根据自己的需求配置命令行提示符的外观功能。...5.易扩展:Starship 提供一个简单的插件系统,用户可以编写自己的模块或使用社区提供的扩展插件。 使用步骤 1.安装 Starship:请根据您的操作系统,终端环境中执行相应的安装命令。...例如, macOS ,您可以使用 Homebrew 执行以下命令: brew install starship 2.创建配置文件:您的家目录下创建一个名为 .config/starship.toml...Zsh: ~/.zshrc 中添加以下行: eval "$(starship init zsh)" Fish ~/.config/fish/config.fish 中添加以下行: starship...总共整理CentOS,Ubuntu,Windows,MacOS,Debian,Fedora 最流行的50个开源软件的安装手册。加入星球免费更新。

38810

【Rust日报】2023-11-27 鱼进化成螃蟹

该项目的最新进展是名为 "Arcanization" 的重大重构,目的是提高多线程中使用 wgpu 的性能。...解决的问题 wgpu 内部存储所有资源的数组导致锁争用性能问题。 Arcanization 将资源存储方式从直接数据更改为 Arc,显著减少了锁的持有时间。...这篇文章强调了Rust的显式注重安全性的编程方式,鼓励开发人员代码中保持显式,即使编译器可以推断出某些行为。文章提供实际示例,并比较C++Rust的构造。...ripgrep Windows、macOS Linux 都有一流的支持,并为每个版本提供二进制下载。...目前版本 14.0.0 的 发布,包含了一些新功能、性能改进大量的 bug 修复。

21910

深度讲解TS:这样学TS,迟早进大厂【11】:类型断言

需要注意的是,类型断言只能够「欺骗」TypeScript 编译器,无法避免运行时的错误,反而滥用类型断言可能会导致运行时错误: interface Cat { name: string;...直接断言为 Fish ,而 TypeScript 编译器信任我们的断言,故调用 swim() 没有编译错误。...可是 swim 函数接受的参数是 Cat | Fish,一旦传入的参数是 Cat 类型的变量,由于 Cat 没有 swim 方法,就会导致运行时错误了。...这样的话明确 tom 的类型,后续对 tom 的访问就有代码补全,提高了代码的可维护性。...,那么被断言为父类,获取父类的属性、调用父类的方法,就不会有任何问题,故「子类可以被断言为父类」 需要注意的是,这里我们使用了简化的父类子类的关系来表达类型的兼容性,而实际 TypeScript 判断类型的兼容性

1.2K20

Python | Pipenv官方推荐的python包管理工具

它可以为你的项目自动创建和管理虚拟环境,并且在你安装/删除包自动Pipfile中添加/移除相应的包。它同时生成一个非常重要的Pipfile.lock文件,来保证所构建环境的确定性。...Pipenv想要解决的问题是多方面的: 你不需要再分别使用pipvirtualenv,Pipenv中他们一起工作 管理一个requirements.txt文件会产生很多问题,所以Pipenv用后面会出现的...让你通过图形深入了解当前的依赖关系($ pipenv graph) 通过加载 .env 文件简化开发流程 安装 Windows环境: $ pip install pipenv 如果你使用的是macOS,...你可以使用Homebrew安装: $ brew install pipenv 特性 容易的实现确定性构建,同时可轻易地指定你想要的内容 锁定依赖项,生成并检查文件的哈希 如果pyenv可用,自动安装所需要的...Python 通过查找Pipfile,递归的自动查找你的项目 如果Pipfile不存在,则自动生成一个 标准地址自动创建一个虚拟环境 当包被安装或者删除,自动Pipfile中修改。

96220

C++基础-多态

多态是一种非常强大的机制,我们考虑这种情况,基类早已写好并定义良好的接口,基类的使用者编写代码,将能通过基类的接口来调用派生类中的方法,也就是说,后写的代码能被先写的代码调用,这使程序具有很强的复用性扩展性...在这种情况下,编译器将为实现虚函数的基类覆盖了虚函数的派生类分别创建一个虚函数表(Virtual Function Table, VFT)。...纯虚函数抽象基类 C++ 中,包含纯虚函数的类是抽象基类。抽象基类用于定义接口,派生类中实现接口,这样可以实现接口与实现的分离。抽象基类不能被实例化。...使用虚继承解决菱形问题 一个类继承多个父类,而这多个父类又继承一个更高层次的父类,会引发菱形问题。...可见使用虚继承可以解决多继承的菱形问题,确保 继承层次结构中,继承多个从同一个类派生而来的基类,如果这些基类没有采用虚继承,将导致二义性。

83820

推荐一些程序员的命令行生产力工具!

虚拟环境之外安装软件包不是一个好主意,将来可能会导致意想不到的问题。另一方面,如果我决定使用虚拟环境,那么每次我要运行程序时都需要激活该虚拟环境。这也不是最方便的解决方案。...事实证明,pipx 工具可以解决上面提到的问题。它将 Python 软件依赖包安装到单独的环境中(因此不会存在依赖项冲突的问题)。与此同时,这些工具提供的 CLI 命令全局环境内也可用。...12Homebrew 如果你使用的是 Mac,那我就无需再介绍 Homebrew 。它是 macOS 被业界普遍认可的软件包管理器。...colordiff 输出可以高亮显示,因此查看文件差异内容要方便得多,而不是 diff 命令输出内容下,费力地查看所有的 “” 符号来对比文件差异。...mas 可让你自动 macOS安装软件。它解放了你大量的点击操作。而且,鉴于你正在阅读这篇有关 CLI 工具的文章,所以我大胆地认为,大家都和我一样,不喜欢无聊的单击操作。

67520

22款好用的CLI工具

虚拟环境之外安装软件包不是一个好主意,将来可能会导致意想不到的问题。另一方面,如果我决定使用虚拟环境,那么每次我要运行程序时都需要激活该虚拟环境。这也不是最方便的解决方案。...事实证明,pipx工具可以解决上面提到的问题。它将 Python 软件依赖包安装到单独的环境中(因此不会存在依赖项冲突的问题)。与此同时,这些工具提供的 CLI 命令全局环境内也可用。...12Homebrew 如果你使用的是 Mac,那我就无需再介绍 Homebrew 。它是 macOS 被业界普遍认可的软件包管理器。...colordiff输出可以高亮显示,因此查看文件差异内容要方便得多,而不是diff命令输出内容下,费力地查看所有的“ ”符号来对比文件差异。...mas可让你自动 macOS安装软件。它解放了你大量的点击操作。而且,鉴于你正在阅读这篇有关 CLI 工具的文章,所以我大胆地认为,大家都和我一样,不喜欢无聊的单击操作。

2.2K30

我私藏的那些实用的终端命令行工具

虚拟环境之外安装软件包不是一个好主意,将来可能会导致意想不到的问题。另一方面,如果我决定使用虚拟环境,那么每次我要运行程序时都需要激活该虚拟环境。这也不是最方便的解决方案。...事实证明,pipx工具可以解决上面提到的问题。它将 Python 软件依赖包安装到单独的环境中(因此不会存在依赖项冲突的问题)。与此同时,这些工具提供的 CLI 命令全局环境内也可用。...12Homebrew 如果你使用的是 Mac,那我就无需再介绍 Homebrew 。它是 macOS 被业界普遍认可的软件包管理器。...colordiff输出可以高亮显示,因此查看文件差异内容要方便得多,而不是diff命令输出内容下,费力地查看所有的“ ”符号来对比文件差异。...mas可让你自动 macOS安装软件。它解放了你大量的点击操作。而且,鉴于你正在阅读这篇有关 CLI 工具的文章,所以我大胆地认为,大家都和我一样,不喜欢无聊的单击操作。

1.4K20

【TypeScript】超详细的笔记式教程【中】

: number[] = [1,2,3, true] 这样写会抛出异常不能将类型“(number | boolean)[]”分配给类型“number” 数组的方法也会根据数组定义的类型约定,受到限制...=== 'function' ) return true return false } 上面这个栗子就会抛出错误类型“Dog | Fish不存在属性“swim” 这个时候我们就可以用类型断言...swim === 'function') return true return false } 注意:类型断言只能够【欺骗】TypeScript编译器,无法避免运行时的错误,滥用类型断言可能会导致运行错误...但是有时候我们的写法是完全没有问题的,比如: window.foo = 1 js中,这种写法完全ok,给window添加属性foo,值为1,但是,TypeScript中是不支持的,它会抛出这个错误类型...双重断言意味着打破 「A包含B的所有属性,或者B包含A的所有属性,AB才能相互断言」的规则,举个栗子: interface Cat { run(): void; } interface Fish

98720

Pipenv:官方推荐的python包管理工具

它可以为你的项目自动创建和管理虚拟环境,并且在你安装/删除包自动Pipfile中添加/移除相应的包。它同时生成一个非常重要的Pipfile.lock文件,来保证所构建环境的确定性。 ?...Pipenv想要解决的问题是多方面的: 你不需要再分别使用pipvirtualenv,Pipenv中他们一起工作 管理一个requirements.txt文件会产生很多问题,所以Pipenv用后面会出现的...让你通过图形深入了解当前的依赖关系($ pipenv graph) 通过加载 .env 文件简化开发流程 安装 Windows环境: $ pip install pipenv 如果你使用的是macOS...特性 容易的实现确定性构建,同时可轻易地指定你想要的内容 锁定依赖项,生成并检查文件的哈希 如果pyenv可用,自动安装所需要的Python 通过查找Pipfile,递归的自动查找你的项目 如果Pipfile...不存在,则自动生成一个 标准地址自动创建一个虚拟环境 当包被安装或者删除,自动Pipfile中修改。

1.7K70
领券