Installing Publify with bundle install, error on b

2019-05-03 16:03发布

I'm trying to install Publify web blog CMS 6.0.9 for Ruby on Rails 3.1 on Windows.

Every time I try to bundle install Publify, I get the same error message when installing the bluecloth gem:

C:\Users\Lunasea\Downloads\typo-6.0.9>gem install bluecloth
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing bluecloth:
        ERROR: Failed to build gem native extension.

        C:/RailsInstaller/Ruby1.9.2/bin/ruby.exe extconf.rb
checking for srand()... yes
checking for random()... no
checking for rand()... yes
checking for bzero() in string.h,strings.h... no
checking for strcasecmp()... yes
checking for strncasecmp()... yes
checking for mkdio.h... yes
checking for ruby/encoding.h... yes
creating extconf.h
creating Makefile

make
C:/RailsInstaller/Ruby1.9.2/bin/ruby -e "puts 'EXPORTS', 'Init_bluecloth_ext'"
> bluecloth_ext-i386-mingw32.def
gcc -I. -IC:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/i386-mingw32 -I/C/Rails
Installer/Ruby1.9.2/include/ruby-1.9.1/ruby/backward -I/C/RailsInstaller/Ruby1.9
.2/include/ruby-1.9.1 -I. -DRUBY_EXTCONF_H=\"extconf.h\"    -DVERSION=\"2.0.9\"
-O3 -g -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-st
rings -Wno-missing-field-initializers -Wno-long-long -I.  -o bluecloth.o -c blue
cloth.c
In file included from c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.
1/../../../../include/windows.h:48:0,
                 from c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.
1/../../../../include/winsock2.h:22,
                 from c:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/ruby/win32.
h:33,
                 from c:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/ruby/define
s.h:205,
                 from c:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/ruby/ruby.h
:74,
                 from c:/RailsInstaller/Ruby1.9.2/include/ruby-1.9.1/ruby.h:32,
                 from bluecloth.h:14,
                 from bluecloth.c:25:
c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:229:23: error: duplicate 'unsigned'
c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:238:23: error: duplicate 'unsigned'
c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:238:23: error: two or more data types in declaration specifiers
c:\railsinstaller\devkit\mingw\bin\../lib/gcc/mingw32/4.5.1/../../../../include/
windef.h:241:24: error: duplicate 'unsigned'
make: *** [bluecloth.o] Error 1


Gem files will remain installed in C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9
.1/gems/bluecloth-2.2.0 for inspection.
Results logged to C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/bluecloth
-2.2.0/ext/gem_make.out

I already tried to install the gem alone or simply to install the latest version, but it gives always the same result.

I'm using the standard generated database.yml.

2条回答
Juvenile、少年°
2楼-- · 2019-05-03 16:49

Windows is not the greatest environment to run rails under. This is a good example. See this link for more info.

查看更多
时光不老,我们不散
3楼-- · 2019-05-03 16:51

The header files in 2.2.0 prevents bluecloth from compile on windows. However, you can patch it by yourself:

  1. Run gem install bluecloth -v '2.2.0' if you haven't already

  2. Apply this patch on bluecloth.h file, on my machine it is located in

    H:\Ruby193\lib\ruby\gems\1.9.1\gems\bluecloth-2.2.0\ext\bluecloth.h

  3. Go to bluecloth 2.2.0 directory, for example

    H:\Ruby193\lib\ruby\gems\1.9.1\gems\bluecloth-2.2.0

  4. Run rake gem (this may require to install some additional gems).

    Then you should see .gem file created in

    H:\Ruby193\lib\ruby\gems\1.9.1\gems\bluecloth-2.2.0\pkg\bluecloth-2.2.0.gem

  5. Open this directory and install the patched gem:

    gem install bluecloth-2.2.0.gem --platform=ruby

查看更多
登录 后发表回答