问题标签 [pik]

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 投票
1 回答
644 浏览

ruby-on-rails - ruby on rails PIK gemset 像 RVM gemset?

我使用过 RVM,我可以在其中获得 gemset 和其他东西,但是没有办法用 PIK 获得它?任何想法?我试图寻找解决方案,但找不到。希望有人对这个问题有任何线索?

谢谢!

0 投票
1 回答
655 浏览

ruby-on-rails - 在 Windows 上安装 Pik

我今天尝试按照http://puneetpandey.com/tag/how-to-install-and-configure-pik-on-windows/安装 pik 。在 C: 目录的命令提示符中键入 'pik_install C:\tools' 后,它返回如下内容:

pik 已安装

您安装到的目录不在系统路径中。C:\工具

您将需要添加它。

令人沮丧的是我已经将 C:\tools 添加到我的系统变量中。花了一些时间在谷歌上搜索解决方案,但没有运气。请帮忙

0 投票
1 回答
502 浏览

ruby - 为什么我不能让“pik use”工作?

我安装了 Pik,除了pik use.

这是我在命令行中使用它时发生的情况:

当我尝试直接输入时,我遇到了另一个问题:

我还更新了我的环境变量来处理这个%PIK_HOME%问题。

但是当我输入以下内容时,我似乎没有得到正确的输出:

知道我做错了什么吗?

0 投票
2 回答
4423 浏览

ruby - Ruby EventMachine 无法构建 gem 原生扩展

使用 ruby​​ v 1.9.3p448 我得到一个 failed to build gem native extension 错误,但它似乎使用的是 Ruby 2.0.0

我是 ruby​​ 新手,我只是想运行这个程序https://github.com/propublica/qis

这是来自 aptana 3 终端的注释:

这是来自 cmd.exe 终端的注释

0 投票
0 回答
206 浏览

ruby-on-rails - Ruby 2.0.0 更新后不起作用

我最初在我的窗口框中安装了 Ruby 1.9.3,但我需要运行一个 Ruby 2.0.0 应用程序,所以我安装了 pik 并使用它在 2 个不同版本的 Ruby 之间切换。

我能够在两个版本之间切换,但是当我尝试运行我的 Ruby 2.0.0 应用程序时,它不起作用。当我更改 PATH 时,我可能会破坏某些东西。还是我需要安装其他 gem 来补充 Ruby 2.0.0?任何帮助,想法表示赞赏。(我使用 RailsyInstaller for Window 安装了我的 Ruby on Rails。这就是我使用 Ruby 1.9.3 的原因。)

细节:

pik 的位置:C:\pik

尝试将 Ruby 2.0.0 设置为默认 Ruby 版本之前的用户路径: C:\pik;C:\RailsInstaller\Git\cmd;C:\RailsInstaller\Ruby1.9.3\bin;C:\Users\tina\AppData\Roaming \npm;

将 PATH 更改为: C:\pik;C:\RailsInstaller\Git\cmd;C:\RailsInstaller\DevKit;C:\Users\tina.pik\rubies\Ruby-200-p195\bin;C:\Users\tina \AppData\漫游\npm;

我能够使用 Ruby 1.9.3 运行我的 Ruby 1.9.3 应用程序,但是当我尝试使用 Ruby 2.0.0 运行 Ruby 2.0.0 应用程序时,它向我抛出了以下错误:

“捆绑安装”和“Rails s”出错

0 投票
2 回答
750 浏览

ruby - 使用 Pik 将 Ruby 更新到 2.0.0

安装 pik 并将我的 Ruby 版本更改为 2.0.0后,bundler 不再正常工作

Ruby Installer安装 devkit有点挫败我安装 pik 的麻烦的原因。我该如何解决这个问题,以便将来我可以使用 pik 轻松更新 ruby​​ 并且一切正常?

0 投票
0 回答
475 浏览

ruby - 错误:为 nil 调用私有方法“gsub”:NilClass 在 Windows 8 上安装 Ruby 2.0

我使用 RubyInstaller 安装了 Ruby 1.9。然后使用 gem 命令安装 pik。还安装了 devkit。尝试安装 Ruby 2.0 时出现此错误。

pik以前在XP, Win7&上安装过 Ruby 版本Vista。其他答案似乎与JRuby和相关Java

0 投票
7 回答
25480 浏览

ruby - Windows 7 上的“无法构建 gem 原生扩展”(系统找不到指定的路径)

简而言之问题

我在 Windows 上运行时出现以下错误gem install json —platform=ruby

背景和一些调查

所以首先,我不是 Windows 用户,所以这对我来说是一个勇敢的新世界。从工作中继承了一台笔记本电脑,那里到处都是疯狂的库集合,我设法删除了所有以前安装的 ruby​​ 和 Devkit,然后安装了以下内容:

  • Ruby 1.9.3p484 与Ruby 安装程序进入C:/Ruby193
  • Ruby 2.0.0p353 与Ruby 安装程序进入C:/Ruby200
  • Devkit DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe(用于 ruby​​ 1x)提取到C:/Ruby193-devkit
  • Devkit DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe(Ruby 2x 的 32 位)提取到C:/Ruby200-devkit-x32.

然后我将Pik 0.2.8安装为 gem,并按照安装说明运行pik_install到一个新目录。C:/bin

我的 PATH 如下所示:

重要的事情就是这样,C:/bin并且C:/Ruby193/bin在路上。这意味着当我启动 shell 时默认加载 ruby​​ 1.9.3,我可以使用pik use 2.0.0p353. 换句话说, pik 工作正常。

Devkit旨在允许从 Windows 上的 gems 编译本机 C/C++ 二进制文件,以避免使用预编译的 windows 二进制文件。

因为我安装了两个版本的 ruby​​,每个版本都需要不同的 devkit(一个用于 2x,一个用于 1x),我必须为 devkit 设置两次:

此时我应该已经能够gem install json —platform=ruby成功运行了,但是得到了上面的错误。经过一番挖掘,我发现了这一点,它建议检查 COMSPEC 是否正确设置并从中删除任何 AutoRun 键HKEY_CURRENT_USER\Software\Microsoft\Command Processor——我从 ANSIcon 中获得了一个并适当地删除了它。

不幸的是,我仍然无法安装 json gem。

然后让我感到震惊的是,可能使用了错误的 GCC 版本,或者没有找到。两个版本的 Devkit 带有不同版本的 gcc:

然后我想知道 pik 是否没有为我选择的特定版本的 ruby​​ 加载 devtools 版本(以及因此 gcc),并且始终使用 1.9.3。感谢这篇文章,看来情况并非如此:

(我实际上在 Windows 上没有 cat 可用,但它可以提供更清晰的解释)

如您所见,devkit.rb 似乎正在将正确版本的 devkit 添加到路径中,这显然正在加载,因为我的错误包含“临时增强 PATH 以包含 DevKit...”。

回到原来的错误

它是:

不幸的是,结果日志并没有提供太多帮助。这就是 gem_make.out 的样子:

我认为这extconf.rb可能会提供一些帮助,但我无法理解它:

中的 MakefileC:/Ruby193/lib/ruby/gems/1.9.1/gems/json-1.8.1/ext/json/ext/generator 看起来像这样。对我来说,这个 Makefile 甚至正在被创建似乎很奇怪。

如果有更多 Windows/Ruby 经验的人能对此有所了解,那就太棒了!

PS。我使用的是 Windows 7 Professional SP1

更多挖掘后更新

因此,我想检查 devkit 是否使用正确的 devkit 目录明显地增强了路径。感谢另一个 SO question 的建议,我将 devkit 安装移到了 Ruby 目录中:

tdm devkit 现在存在,C:\Ruby193\devkit而 mingw64 存在于C:\Ruby200\devkit. 为每个 devkit运行后ruby dk.rb install -f,我打开了两个 devkit.rb 文件以检查路径是否已正确更新。他们有,我更新了 puts,所以它应该打印“临时增强 PATH 确实包括 DevKit for 1.9”或“临时增强 PATH 确实包括 DevKit 2”。通过确认正在加载正确的 devkit:

这样看起来一切正常。但:

这清楚地告诉我们两件事:

  1. 当我使用 ruby​​ 1.9 时,正在加载其他一些 devkit.rb 文件,因为没有打印“for 1.9”消息。
  2. 这不太可能是实际问题,因为在任何一种情况下错误都是相同的。

我将看看是否可以使用生成的 Makefile 手动构建。

0 投票
1 回答
77 浏览

ruby - 如何在 Windows 上升级到 ruby​​ 2.0?

我刚刚将 pik 安装到c:\bin. 我输入了pik list,它显示:

我输入:c:\bin> pik use 200c:\bin>ruby -v得到以下错误。

'ruby' 不是内部或外部命令、可运行程序或批处理文件。

什么可能导致这种情况,我如何解决它以正确升级到 Ruby 2.0?

0 投票
2 回答
234 浏览

ruby - 我的 Ruby pik 崩溃了:“不能复制 NilClass”

它是这样的(注意我在 pik.bat 中启用了 echo)。今天下载的所有最新版本(尽管可能与未正确卸载的旧软件发生冲突)

F:\ruby\pik>pik.bat

F:\ruby\pik>"F:\ruby\pik\pik_runner.exe" "F:\ruby\pik\pik.bat"

有一个错误。错误:无法复制 NilClass

在:pathname.rb:205:in dup' in: pathname.rb:205:ininitialize' 在:pik/commands/add_command.rb:17:in new' in: pik/commands/add_command.rb:17:inadd' 在:pik/commands/add_command.rb:13:in `execute' 在:pik_runner:27