标签: libyaml

rails 4.1无法通过capistrano 3进行部署

使用capistrano部署我的rails应用程序时,我有一个非常奇怪的错误.有时它是部署,有时不是.例如,我向css添加一些东西(只有一个字符串),例如.my_some_class{width:10px} ,在部署失败之后.在我添加之前 - 它部署好了.我确定没有其他任何改变因为我做了实验提交只包含一个css字符串.我的配置:

rails 4.1.0
ruby 2.1.1p76

gem 'capistrano-rails', group: :development
gem 'capistrano-rvm', group: :development
gem 'capistrano-bundler', group: :development
Run Code Online (Sandbox Code Playgroud)

部署日志结束:

Tasks: TOP => deploy:assets:precompile
(See full trace by running task with --trace)
The deploy has failed with an error: #<SSHKit::Command::Failed: rake exit status: 137
rake stdout: Nothing written
rake stderr: SafeYAML Warning
  ----------------

  You appear to have an outdated version of libyaml (0.1.4) installed on your system.

  Prior to 0.1.6, libyaml is vulnerable to a heap overflow exploit …
Run Code Online (Sandbox Code Playgroud)

ruby capistrano ruby-on-rails libyaml ruby-on-rails-4.1

15
推荐指数
3
解决办法
4481
查看次数

brew安装libyaml错误

$ brew install libyaml
==> Downloading http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
Already downloaded: /Library/Caches/Homebrew/libyaml-0.1.4.tar.gz
==> ./configure --prefix=/usr/local/Cellar/libyaml/0.1.4
==> make install
Warning: Could not link libyaml. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link libyaml'
==> Summary
  /usr/local/Cellar/libyaml/0.1.4: 7 files, 336K, built in 9 seconds
Run Code Online (Sandbox Code Playgroud)

OS X 10.8.2如何解决这个问题?我该怎么办 ?

homebrew install libyaml

10
推荐指数
1
解决办法
7944
查看次数

Rails:Psych,从0.1.4更新libyaml

我需要安装了需要qt库的capybara-webkit,所以我使用以下命令使用自制软件安装它们

brew update
brew install qt
brew linkapps
Run Code Online (Sandbox Code Playgroud)

然后我捆绑了所有与capybara-webkit很好.但是,我的警卫正在抛出以下警告.

 You appear to have an outdated version of libyaml (0.1.4) installed on your system.

  Prior to 0.1.6, libyaml is vulnerable to a heap overflow exploit from malicious YAML payloads.


  The easiest thing to do right now is probably to update Psych to the latest version and enable
  the 'bundled-libyaml' option, which will install a vendored libyaml with the vulnerability patched:

  gem install psych -- --enable-bundled-libyaml
Run Code Online (Sandbox Code Playgroud)

看似简单.然而,即使在使用'bundled-libyaml'选项进行成功的心理安装之后,我仍然看到关于过时的libyaml的警告.此外,当我检查与psyche相关的libyaml版本(ruby -rpsych -e'p Psych.libyaml_version')时,它仍然是1.4.

有任何想法吗?

macos ruby-on-rails libyaml

7
推荐指数
1
解决办法
1804
查看次数

使用 C 中的 libyaml 将 YAML 解析为值

我正在尝试在 linux 服务器上使用 C 解析 YAML 文件(这是对现有应用程序的修改,因此不能选择更改语言)。

我已经通读了http://wpsoftware.net/andrew/pages/libyaml.html和 libyaml wiki 上的教程。

我想要做的是将这个应用程序的数据库配置从头文件中移到 YAML 中,以便我可以将编译和配置作为单独的步骤,允许我使用 Chef 来管理配置。

这是yaml:

---
db_server: "localhost"
db_password: "wibble"
db_username: "test"
national_rail_username: test
national_rail_password: wibble
Run Code Online (Sandbox Code Playgroud)

我想要做的是遍历文件并根据键名设置变量。

伪代码如下:

config = YAML::load("file.yaml")
DBUSER = config['db_username']
DBPASS = config['db_password']
DBSERVER = config['db_server']
NATIONAL_RAIL_USERNAME = config['national_rail_username']
NATIONAL_RAIL_PASSWORD = config['national_rail_password']
Run Code Online (Sandbox Code Playgroud)

(如果上面看起来有点像 ruby​​/python,那是因为我习惯使用那些语言!)

我设法使用 YAML-cpp 进行了测试设置,然后我意识到我已经在错误的树上吠叫了三个小时,因为主要应用程序是用 C 编写的,而不是 C++。

编辑:这是我到目前为止的代码。它是从上面的教程网站剪切和粘贴的,但是我认为这不是正确的方法,并且它似乎没有为我提供一种将 YAML“键”分配给 C 代码中的变量的方法。

#include <stdio.h>
#include <yaml.h>

int main(void)
{
  FILE *fh = fopen("config.yaml", "r");
  yaml_parser_t parser;
  yaml_token_t  token;   /* …
Run Code Online (Sandbox Code Playgroud)

c linux libyaml

5
推荐指数
1
解决办法
1万
查看次数

基于C libyaml文档的解析

我正在尝试使用 C 和 libyaml 编写 yaml 格式的配置文件解析器。我的互联网搜索并没有给我带来任何运气,找到一个像样的、完整的 API 文档和操作手册。Andrew Poelstra 的教程没有描述基于文档的[使用]解析方法,我看来,这种方法比基于标记和基于事件的方法更具逻辑性和合理性。yaml_parser_load ()

因此,目前我坚持使用yaml.h中 doxygen 生成的文档,这确实让我对将文档加载到解析器后如何实际解析某些内容感到困惑。具体来说,我不知道我们在和结构的定义中谈论哪个堆栈yaml_document_syaml_node_s

一个例子来自yaml_node_s.data.mapping

struct {
    /** The stack of mapping pairs (key, value). */
    struct {
        /** The beginning of the stack. */
        yaml_node_pair_t *start;
        /** The end of the stack. */
        yaml_node_pair_t *end;
        /** The top of the stack. */
        yaml_node_pair_t *top;
    } pairs;
    /** The mapping style. */
    yaml_mapping_style_t style;
} mapping;
Run Code Online (Sandbox Code Playgroud)

我发现 …

c parsing libyaml

2
推荐指数
1
解决办法
2678
查看次数

Ejabberd配置:错误:找不到libyaml库

我试图通过源代码安装Ejabberd,但是当我运行make命令时,我发现了以下错误.

checking for yaml_parser_initialize in -lyaml... no
checking yaml.h usability... no
checking yaml.h presence... no
checking for yaml.h... no
configure: error: libyaml library was not found
ERROR: Command ['get-deps'] failed!
make: *** [deps/.got] Error 1
Run Code Online (Sandbox Code Playgroud)

我已经重新安装libyaml 0.2和其他版本使用make和brew,但仍然没有解决错误.如果你知道另一个解决方案而不是指导我

erlang ejabberd libyaml

1
推荐指数
1
解决办法
5145
查看次数

Windows 版 GNC 中缺少 WX GUI FFT 接收器

我是 GNU Radio 的新手,专注于使用 GretScott 网站进行培训。

我运行的是 Windows 10。我从官方网站安装了 3.7.13.5/v1.6 ,发现缺少块。我决定卸载并安装3.8.0.0/v1.7

安装进行得很顺利,尽管我还注意到启动后命令提示符中出现一条消息:

WARNING:gnuradio.grc.core.platform:Slow YAML loading (libyaml not available)
<<< Welcome to GNU Radio Companion 3.8.0.0 >>>

Block paths:
        C:\Program Files\GNURadio-3.8\share\gnuradio\grc\blocks
Run Code Online (Sandbox Code Playgroud)

我没有多想,就开始在 Companion 中翻找。我注意到最初缺少的块现在可用了。然而,我不再有任何 WX 块了。

有没有办法可以将这些块下载为 .yml 并将它们放置在块路径中?

我尝试从github 的链接安装 PyYAML然后运行:

python setup.py install
Run Code Online (Sandbox Code Playgroud)

我也跑了:

pip install -U wxPython
Run Code Online (Sandbox Code Playgroud)

两次尝试都没有运气,WX 块仍然丢失,并且我仍然在命令提示符上收到(libyaml 不可用)消息。

wxpython gnu gnuradio libyaml gnuradio-companion

1
推荐指数
1
解决办法
1万
查看次数