ruby on rails 在制作新应用程序时显示未知编码名称。在 Windows 7 上,导轨 4.2

Posted

技术标签:

【中文标题】ruby on rails 在制作新应用程序时显示未知编码名称。在 Windows 7 上,导轨 4.2【英文标题】:ruby on rails when making new app it says unknown encoding name . on windows 7, rails 4.2 【发布时间】:2016-07-19 19:41:57 【问题描述】:

当我输入“rails new ...”时,它运行良好,直到它到达:

run  bundle install

C:/RailsInstaller/Ruby2.2.0/lib/ruby/2.2.0/win32/registry.rb:71:in `find':unknown encoding name - CP720 (ArgumentError)

我已经将编码名称更改为“chcp 1252”,这是我在another answer 中找到的,因为它给了我

未知的编码名称 - CP720 (ArgumentError)

当我试图通过“rails -v”了解rails的版本时

如果有人知道如何解决这个问题,请告诉我,如果您需要更多信息,请告诉我您需要知道的内容,我会在评论中输入。

更新:它不再这样做了,它现在说:

使用原生扩展安装 nio4r 1.2.1 Gem::Ext::BuildError: 错误:无法构建 gem 原生扩展。

最后它说:

安装 nio4r (1.2.1) 时出错,Bundler 不能 继续。确保gem install nio4r -v '1.2.1' 成功 在捆绑之前。

【问题讨论】:

我看到您找到了重复项,但还有其他看似有效的解决方法被列为替代答案。你试过编辑registry.rb吗? 我实际上已将 "LOCALE = Encoding::UTF_8" 放在 registry.rb 的第 71 行。问题是我做了很多改变,我担心它们可能会导致彼此失败。 事实上,每次我做一些新的事情时,我都会从 rails 得到不同的响应,但它仍然不起作用。现在,当我尝试使用“rails new”制作新应用程序时,它给了我这个:“安装 nio4r (1.2.1) 时发生错误,并且 Bundler 无法继续。确保 gem install nio4r -v '1.2.1' 在捆绑之前成功。”但是当我尝试运行“bundle install”时,它说:“C:\Users\admin>bundle install The system cannot find the path specified.”我现在真的很困惑哈哈。 你能不能打开C:\RailsInstaller\Ruby2.2.0\bin\bundle.bat并搜索字符串emachnic。如果你能找到它,我们可以做一些编辑让你站起来。 感谢您的关心。该字符串在 bundle.bat 中,我对其进行了编辑并输入了“C:\RailsInstaller\Ruby2.2.0\bin\ruby.exe”“%~dpn0”%*“。我认为问题现在不同了,也许如果我可以安装“nio4r”“捆绑安装”可能会工作,老实说我不确定“nio4r”是什么,但无论如何我都会尝试。现在我有一个关于“coursera”的课程,但是在大约 10 m 的安装视频中,这些问题没有发生。 【参考方案1】:

RailsInstaller 似乎在他们的构建中包含一个未解决的(和继续的)problem。如果您查看 .bat 文件,您会发现以下几行,这表明 RailsInstaller 使用的是硬编码路径,该路径指向特定 RailsInstaller 开发人员的机器:

@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe" "C:/Users/emachnic/GitRepos/railsinstaller-windows/stage/Ruby2.2.0/bin/rails" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"C:\Users\emachnic\GitRepos\railsinstaller-windows\stage\Ruby2.2.0\bin\ruby.exe" "%~dpn0"

前面代码的任何实例都应替换为以下代码:

@ECHO OFF
IF NOT "%~f0" == "~f0" GOTO :WinNT
ECHO.This version of Ruby has not been built with support for Windows 95/98/Me.
GOTO :EOF
:WinNT
@"%~dp0ruby.exe" "%~dpn0" %*

如果所有其他方法都失败并且您不想处理它,RailsInstaller web page 包含多个版本,因此您可以返回并使用早期版本(特别是如果您正在开始一个新项目) .

【讨论】:

我重新安装了 rails 并按照你说的做了,现在当我输入 bundle install 时它会返回这个:" C:\Sites\nein>bundle install C:/RailsInstaller/Ruby2.2.0/lib/ruby/ 2.2.0/win32/registry.rb:71:in `find': unknown encoding name - CP720 (ArgumentError)" 你觉得我应该把编码名改成“chcp 1252”吗? 是的。我们一直在努力解决相关问题,现在我们又回到了原来的状态,所以当 CP720 是最严重的错误时,请执行您所做的操作。 我注意到一些奇怪的东西,每一行都以“C:\Sites>”开头,当我在rails上看到视频时只有“C:\>”,这正常吗? “每一行”在哪里?帮帮兄弟,我从这里看不到你的终端。 ;) 如果你在谈论你的命令提示符,它只是意味着你在你的站点目录中。 是的,我的命令提示符,看起来是这样的:“系统找不到指定的路径。C:\Sites>”,但什么是“站点目录”? ,我知道这可能是一个愚蠢的问题,但我还是个初学者,还有很多东西要学。

以上是关于ruby on rails 在制作新应用程序时显示未知编码名称。在 Windows 7 上,导轨 4.2的主要内容,如果未能解决你的问题,请参考以下文章

在 DataTables 表加载 Ruby on Rails 时显示微调器

如何在 ruby​​ on rails 中访问 rails 助手和嵌入资产 javascript 文件中的 ruby​​?

在 ruby​​ on rails 中创建新表

Ruby On Rails在脚手架之后添加新页面

如何通过 websockets 在 ruby​​ on rails 和 reactJS 之间发送数据

如何使用用户定义的字段数制作表单? - Ruby on Rails