Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何修复RubyGems任务中的“未初始化常量Gem::GEM_PRELUDE_SUCKAGE”

如何修复RubyGems任务中的“未初始化常量Gem::GEM_PRELUDE_SUCKAGE”
EN

Stack Overflow用户
提问于 2019-08-26 01:30:07
回答 1查看 1.2K关注 0票数 0

我的RubyGems不工作,抛出一个错误,如下所示,在任何Gem任务上触发(几乎):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems.rb:1081:in `<top (required)>': uninitialized constant Gem::GEM_PRELUDE_SUCKAGE (NameError)
    from <internal:gem_prelude>:1:in `require'
    from <internal:gem_prelude>:1:in `<compiled>'

我刚接触Ruby / RubyGems /安装Ruby,我所知道的就是未初始化的常量本质上是一个未定义的变量。也有可能是Ruby本身的原因,尽管->Gem:GEM<-_PRELUDE_SUCKAGE让我想到了RubyGems。

简而言之,我安装了一堆Ruby的东西(比如RVM、rbenv等)。开发Ruby on Rails,因为我认为这将是一个学习Ruby的好方法。

嗯,在经历了一个漫长而乏味的过程,将Ruby升级到2.6.3,然后降级到2.5.5,然后降级到2.4.0,然后又回到2.5.5,并解决了降级问题,RubyGems抛出了这个错误。我最终选择了2.5.5,因为2.6.3会导致错误,而2.4.0版本太早了。

它导致了各种各样的错误,比如HAML不能编译,Rails不能做控制器。我真的不知道发生了什么。

如果我运行gem install [gem name],它会抛出错误。运行rails generate controller [name] index (对于那些不熟悉Rails的人来说,这会创建一个控制器)会抛出错误。除了gem server之外,真正使用gem命令执行任何操作都会导致错误。

如果我升级到最新的Ruby版本,我担心我的gem命令会再次变得不可靠,我将不得不再经历一天的故障排除版本。我如何解决这个问题,或者至少去掉消息,这样我就可以重新创建东西了?

EN

回答 1

Stack Overflow用户

发布于 2020-03-10 03:55:05

就在今天我遇到了这样的事情。不知何故,我的红宝石版本似乎已经被破坏了。当我运行rvm list时,2.5.1版被列为“坏掉的”。我必须完全卸载2.5.1 (即使在我的情况下也使用sudo )才能从头开始。

然后,当尝试重新安装时,rvm给了我各种各样的痛苦,因为我最初无法正确安装一个新的gpg密钥(hint)。

在彻底清除ruby 2.5.1,将rvm更新到最新版本并重新安装之后,我得到了这个错误:Error running 'env GEM_HOME=/ruby-2.5.1@global GEM_PATH= /Users/user/.rvm/rubies/ruby-2.5.1/bin/ruby -d /Users/user/.rvm/src/rubygems-3.0.8/setup.rb --no-document',

似乎对MacOSX的更新不推荐使用某个版本的OpenSSL,这会导致一些问题。我最终遵循了this线程,运行了rvm gemset create global --default,然后运行了bundle install,以获得传递的Gem错误。

老实说,rails应该比这更简单。我希望docker有时候更容易理解。这些都是docker承诺要解决的问题,对吧?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57650918

复制
相关文章
MAC安装Ruby Rails brew gem
Error running ‘requirements_osx_brew_libs_install autoconf automake libtool pkg-config libyaml readline libksba openssl’,
全栈程序员站长
2021/05/19
1.7K0
maven 解包依赖项中的文件
使用goal:unpack-dependencies 在配置参数includeArtifactIds中指定要解包的模块制件ID
路过君
2022/07/20
2.4K0
如何在Ubuntu 18.04上使用rbenv安装Ruby on Rails
Ruby on Rails是创建网站和Web应用程序的开发人员最受欢迎的应用程序堆栈之一。Ruby编程语言与Rails开发框架相结合,使应用程序开发变得简单。
司徒永哥
2018/10/10
6.4K0
logstash input插件开发
logstash作为一个数据管道中间件,支持对各种类型数据的采集与转换,并将数据发送到各种类型的存储库,比如实现消费kafka数据并且写入到Elasticsearch, 日志文件同步到对象存储S3等,mysql数据同步到Elasticsearch等。
bellen
2018/07/30
4.1K0
logstash input插件开发
在 Debian 中如何将用户添加到 Sudoers
sudo是一个命令行工具,它允许被信任用户以另外一个用户身份运行命令,默认是 root 用户。
雪梦科技
2020/05/11
12.5K0
在 Debian 中如何将用户添加到 Sudoers
在 Ubuntu 中如何将用户添加到 Sudoers
sudo是一个命令行程序,它允许被信任的用户以 root 或者其他用户身份去运行命令。
雪梦科技
2020/05/09
34.2K0
在 Ubuntu 中如何将用户添加到 Sudoers
Nexus高级配置之如何将本地jar添加到Nexus中
Java后端技术所推送文章,为本人原创、网上收集或其他作者投稿,对于网上收集部分除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,我们会在24小时内删除处理,谢谢!^_^ QQ:1573876303。
Java后端技术
2018/08/09
2.7K0
Nexus高级配置之如何将本地jar添加到Nexus中
一文搞清rake、Rakefile、gem、gemspec、bundler、bundle、Gemfile的关系
这几个都是Ruby语言中的概念。下面我分别介绍一下各个名词的含义,并将其与其他类似工具做比较,以便读者理解。
DevOps持续交付
2020/03/10
4.1K0
利用logstash的logstash-input-jdbc插件实现mysql增量导入ES的介绍
3, 官网介绍例子,使用 logstash-input-jdbc 到 elasticsearch
全栈程序员站长
2022/09/10
7390
利用logstash的logstash-input-jdbc插件实现mysql增量导入ES的介绍
在 Android 中通过 Hilt 进行依赖项注入
DI (依赖项注入) 是一种在程序设计中被广泛使用的技术,非常适合 Android 开发,该技术可以将依赖项提供给类,从而让类不必自己创建这些依赖。通过遵循 DI 原则,您将为良好的应用架构、更高的代码复用性和便捷的测试奠定基础。您是否尝试过在应用中进行手动依赖项注入?即使使用了当今许多现有的依赖项注入库,随着您的项目越来越大,这些库仍需要大量模板代码,因为您必须手动构造每个类及其依赖项,并创建容器用来复用和管理依赖项。
Android 开发者
2022/03/09
1.9K0
在 WPF 中获取一个依赖对象的所有依赖项属性
本来 .NET 中提供了一些专供设计器使用的类型 TypeDescriptor 可以帮助设计器找到一个类型或者组件的所有可以设置的属性,不过我们也可以通过此方法来获取所有可供使用的属性。
walterlv
2023/10/22
4120
【Ruby】【改gem源镜像】【Win10 + Jruby-9.1.2.0 + Rails 5.1.3 + gem 2.6.4 】
(1)> gem sources –add http://gems.ruby-china.org 遇到问题: Error fetching https://gems.ruby-china.org/: certificate verify failed (https://gems.ruby-china.org/specs.4.8.gz)
全栈程序员站长
2022/09/06
7720
开发项目管理工具redmine 原
基于上面的多种特性,在项目管理工作中,如任务分配、任务跟踪、项目权限管理等等带来很大的便捷性,使得工作进度、质量更加可控。春雨在使用Redmine时集成了ldap,并以此对外部员工(toh、合作方)和内部员工做了区分,同时Redmine对用户分配了四种角色(超级管理员、管理人员、开发人员、报告人员),而且还可以配置用户组,如此一来对于项目权限管理更加便捷。更重要的一点是日常工作中所有工作内容的申请和交接都通过Redmine和email来操作,这样所有工作的开展都有据可依,也符合等保3的考核要求。
阿dai学长
2019/04/03
10.1K3
开发项目管理工具redmine
                                                                            原
如何使用Capistrano自动部署:入门教程
制作基于Web的应用程序的关键领域之一是部署。如何部署,这项任务确实被视为一件苦差事,似乎对您的项目几乎没有任何直接或附加价值。然而,一个精心设计的部署过程肯定有助于减少开销,例如不会浪费时间在让产品上线。
何处惹尘埃
2018/08/13
2.3K0
使用Capistrano,Nginx和Puma在Ubuntu 14.04上部署Rails应用程序
Rails是一个用Ruby编写的开源Web应用程序框架。Nginx是一种高性能HTTP服务器,反向代理和负载均衡器,以其并发性,稳定性,可伸缩性和低内存消耗而著称。与Nginx一样,Puma是另一个极其快速且并发的Web服务器,内存占用非常小,但是为Ruby Web应用程序构建。
尘埃
2018/08/09
5K0
在CVM上使用rbenv安装RoR
Ruby on Rails(官方简称为Rails,亦被简称为RoR),是一个使用Ruby语言写的开源Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。 其通过使用Ruby编程语言结合Rails开发框架,可以简化应用程序开发。
八十岁的背影
2018/07/17
3.7K0
logstash安装与logstash-input-jdbc插件使用
于是elasticsearch提供了可以直接和数据库关联,并且自动根据数据库中的数据更新索引logstash。
大道七哥
2019/09/10
1.9K0
logstash安装与logstash-input-jdbc插件使用
【Android Gradle 插件】Gradle 依赖管理 ⑩ ( dependencies 依赖配置项 configurations )
添加构建依赖项 参考文档 : https://developer.android.google.cn/studio/build/dependencies
韩曙亮
2023/03/30
1.3K0
【Android Gradle 插件】Gradle 依赖管理 ⑩ ( dependencies 依赖配置项 configurations )
Debian 8 使用 Apache 部署 Ruby on Rails
Ruby on Rails 是一个快速开发的Web框架,Web设计人员和开发人员利用它能实现动态的全功能Web应用程序。 本文使用 Phusion Passenger 或mod_rails 方法部署 Rails 应用程序。 Passenger 允许您直接在Apachen应用程序中嵌入 Rails 应用程序,而无需使用FastCGI或复杂的Web服务器代理。
Debian中国
2018/12/20
2.6K0
在 CentOS 上如何将用户添加到 Sudoers
sudo是一个命令行工具,它被设计为允许用户以其他用户(默认是 root 用户)身份去运行命令。
雪梦科技
2020/05/11
11.4K0
在 CentOS 上如何将用户添加到 Sudoers

相似问题

在gemspec中添加多个gem依赖项

12

gemspec中包含的依赖项未添加到rails引擎中的资产管道

25

将gem依赖项添加到需要git url的gemspec。

10

JRuby gemspec本地jar依赖项

10

Rails 3.1可装入引擎gem依赖项

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文