[root@localhost ~ ]# gem install sassc Building native extensions. This could take a while... ERROR: Error installing sassc: ERROR: Failed to build gem native extension.
current directory: /usr/local/rvm/gems/ruby-2.6.2/gems/sassc-2.0.1/ext /usr/local/rvm/rubies/ruby-2.6.2/bin/ruby -rrubygems /usr/local/rvm/rubies/ruby-2.6.2/lib/ruby/gems/2.6.0/gems/rake-12.3.2/exe/rake RUBYARCHDIR\=/usr/local/rvm/gems/ruby-2.6.2/extensions/x86_64-linux/2.6.0/sassc-2.0.1 RUBYLIBDIR\=/usr/local/rvm/gems/ruby-2.6.2/extensions/x86_64-linux/2.6.0/sassc-2.0.1 cd libsass make lib/libsass.so mkdir lib cc -Wall -O2 -I /usr/local/rvm/gems/ruby-2.6.2/gems/sassc-2.0.1/ext/libsass/include -fPIC -fPIC -c -o src/cencode.o src/cencode.c src/cencode.c: In function ‘base64_encode_block’: src/cencode.c:50: warning: empty declaration src/cencode.c:64: warning: empty declaration g++ -Wall -O2 -std=c++0x -I /usr/local/rvm/gems/ruby-2.6.2/gems/sassc-2.0.1/ext/libsass/include -fPIC -fPIC -c -o src/ast.o src/ast.cpp In file included from src/ast.cpp:2: src/ast.hpp: In member function ‘virtual size_t Sass::Vectorized<T>::hash()’: src/ast.hpp:336: error: expected initializer before ‘:’ token src/ast.hpp:339: error: expected primary-expression before ‘}’ token src/ast.hpp:339: error: expected ‘;’ before ‘}’ token src/ast.hpp:339: error: expected primary-expression before ‘}’ token src/ast.hpp:339: error: expected ‘)’ before ‘}’ token src/ast.hpp:339: error: expected primary-expression before ‘}’ token src/ast.hpp:339: error: expected ‘;’ before ‘}’ token src/ast.hpp: In constructor ‘Sass::Hashed::Hashed(size_t)’: src/ast.hpp:373: error: ‘class Sass::ExpressionMap’ has no member named ‘reserve’ src/ast.hpp: In member function ‘Sass::Hashed& Sass::Hashed::operator+=(Sass::Hashed*)’: src/ast.hpp:402: error: expected initializer before ‘:’ token src/ast.hpp:406: error: could not convert ‘Sass::Hashed::reset_duplicate_key()’ to ‘bool’ src/ast.hpp:407: error: expected primary-expression before ‘return’ src/ast.hpp:407: error: expected ‘)’ before ‘return’ In file included from src/ast.cpp:2: src/ast.hpp: In member function ‘virtual size_t Sass::Map::hash()’: src/ast.hpp:1153: error: expected initializer before ‘:’ token src/ast.hpp:1157: error: expected primary-expression before ‘}’ token src/ast.hpp:1157: error: expected ‘;’ before ‘}’ token src/ast.hpp:1157: error: expected primary-expression before ‘}’ token src/ast.hpp:1157: error: expected ‘)’ before ‘}’ token src/ast.hpp:1157: error: expected primary-expression before ‘}’ token src/ast.hpp:1157: error: expected ‘;’ before ‘}’ token src/ast.hpp: In member function ‘virtual size_t Sass::Function_Call::hash()’: src/ast.hpp:1522: error: expected initializer before ‘:’ token src/ast.hpp:1524: error: expected primary-expression before ‘}’ token src/ast.hpp:1524: error: expected ‘;’ before ‘}’ token src/ast.hpp:1524: error: expected primary-expression before ‘}’ token src/ast.hpp:1524: error: expected ‘)’ before ‘}’ token src/ast.hpp:1524: error: expected primary-expression before ‘}’ token src/ast.hpp:1524: error: expected ‘;’ before ‘}’ token src/ast.hpp: In member function ‘virtual size_t Sass::Number::hash()’: src/ast.hpp:1614: error: expected initializer before ‘:’ token src/ast.hpp:1616: error: expected primary-expression before ‘for’ src/ast.hpp:1616: error: expected ‘;’ before ‘for’ src/ast.hpp:1616: error: expected primary-expression before ‘for’ src/ast.hpp:1616: error: expected ‘)’ before ‘for’ src/ast.hpp:1616: error: expected initializer before ‘:’ token src/ast.hpp:1618: error: expected primary-expression before ‘}’ token src/ast.hpp:1618: error: expected ‘;’ before ‘}’ token src/ast.hpp:1618: error: expected primary-expression before ‘}’ token src/ast.hpp:1618: error: expected ‘)’ before ‘}’ token src/ast.hpp:1618: error: expected primary-expression before ‘}’ token src/ast.hpp:1618: error: expected ‘;’ before ‘}’ token src/ast.hpp: In member function ‘bool Sass::String_Schema::has_interpolants()’: src/ast.hpp:1791: error: expected initializer before ‘:’ token src/ast.hpp:1794: error: expected primary-expression before ‘return’ src/ast.hpp:1794: error: expected ‘;’ before ‘return’ src/ast.hpp:1794: error: expected primary-expression before ‘return’ src/ast.hpp:1794: error: expected ‘)’ before ‘return’ src/ast.hpp: In member function ‘virtual size_t Sass::String_Schema::hash()’: src/ast.hpp:1801: error: expected initializer before ‘:’ token src/ast.hpp:1803: error: expected primary-expression before ‘}’ token src/ast.hpp:1803: error: expected ‘;’ before ‘}’ token src/ast.hpp:1803: error: expected primary-expression before ‘}’ token src/ast.hpp:1803: error: expected ‘)’ before ‘}’ token src/ast.hpp:1803: error: expected primary-expression before ‘}’ token src/ast.hpp:1803: error: expected ‘;’ before ‘}’ token src/ast.hpp: In member function ‘virtual size_t Sass::Compound_Selector::hash()’: src/ast.hpp:2750: error: ‘template<class T> class Sass::Vectorized’ used without template parameters src/ast.hpp: In member function ‘virtual size_t Sass::Selector_List::hash()’: src/ast.hpp:2997: error: ‘template<class T> class Sass::Vectorized’ used without template parameters src/ast.hpp: In member function ‘virtual void Sass::Selector_List::set_media_block(Sass::Media_Block*)’: src/ast.hpp:3014: error: expected initializer before ‘:’ token src/ast.hpp:3017: error: expected primary-expression before ‘}’ token src/ast.hpp:3017: error: expected ‘;’ before ‘}’ token src/ast.hpp:3017: error: expected primary-expression before ‘}’ token src/ast.hpp:3017: error: expected ‘)’ before ‘}’ token src/ast.hpp:3017: error: expected primary-expression before ‘}’ token src/ast.hpp:3017: error: expected ‘;’ before ‘}’ token src/ast.hpp: In member function ‘virtual bool Sass::Selector_List::has_placeholder()’: src/ast.hpp:3019: error: expected initializer before ‘:’ token src/ast.hpp:3022: error: expected primary-expression before ‘return’ src/ast.hpp:3022: error: expected ‘;’ before ‘return’ src/ast.hpp:3022: error: expected primary-expression before ‘return’ src/ast.hpp:3022: error: expected ‘)’ before ‘return’ src/ast.cpp: In member function ‘virtual bool Sass::Selector_List::find(bool (*)(Sass::AST_Node_Obj))’: src/ast.cpp:35: error: expected initializer before ‘:’ token src/ast.cpp:39: error: expected primary-expression before ‘return’ src/ast.cpp:39: error: expected ‘;’ before ‘return’ src/ast.cpp:39: error: expected primary-expression before ‘return’ src/ast.cpp:39: error: expected ‘)’ before ‘return’ src/ast.cpp: In member function ‘virtual bool Sass::Compound_Selector::find(bool (*)(Sass::AST_Node_Obj))’: src/ast.cpp:45: error: expected initializer before ‘:’ token src/ast.cpp:49: error: expected primary-expression before ‘return’ src/ast.cpp:49: error: expected ‘;’ before ‘return’ src/ast.cpp:49: error: expected primary-expression before ‘return’ src/ast.cpp:49: error: expected ‘)’ before ‘return’ src/ast.cpp: In member function ‘virtual void Sass::Arguments::set_delayed(bool)’: src/ast.cpp:98: error: expected initializer before ‘:’ token src/ast.cpp:102: error: expected primary-expression before ‘}’ token src/ast.cpp:102: error: expected ‘)’ before ‘}’ token src/ast.cpp:102: error: expected primary-expression before ‘}’ token src/ast.cpp:102: error: expected ‘;’ before ‘}’ token src/ast.cpp: In member function ‘virtual bool Sass::Compound_Selector::has_parent_ref() const’: src/ast.cpp:171: error: expected initializer before ‘:’ token src/ast.cpp:174: error: expected primary-expression before ‘return’ src/ast.cpp:174: error: expected ‘;’ before ‘return’ src/ast.cpp:174: error: expected primary-expression before ‘return’ src/ast.cpp:174: error: expected ‘)’ before ‘return’ src/ast.cpp: In member function ‘virtual bool Sass::Compound_Selector::has_real_parent_ref() const’: src/ast.cpp:179: error: expected initializer before ‘:’ token src/ast.cpp:182: error: expected primary-expression before ‘return’ src/ast.cpp:182: error: expected ‘;’ before ‘return’ src/ast.cpp:182: error: expected primary-expression before ‘return’ src/ast.cpp:182: error: expected ‘)’ before ‘return’ src/ast.cpp: In member function ‘virtual bool Sass::Compound_Selector::is_superselector_of(Sass::Selector_List_Obj, std::string)’: src/ast.cpp:846: error: expected initializer before ‘:’ token src/ast.cpp:849: error: expected primary-expression before ‘return’ src/ast.cpp:849: error: expected ‘;’ before ‘return’ src/ast.cpp:849: error: expected primary-expression before ‘return’ src/ast.cpp:849: error: expected ‘)’ before ‘return’ src/ast.cpp: In member function ‘Sass::Selector_List* Sass::Complex_Selector::resolve_parent_refs(std::vector<Sass::SharedImpl<Sass::Selector_List>, std::allocator<Sass::SharedImpl<Sass::Selector_List> > >&, Sass::Backtraces&, bool)’: src/ast.cpp:1408: error: expected initializer before ‘:’ token src/ast.cpp:2226: error: expected primary-expression at end of input src/ast.cpp:2226: error: expected ‘;’ at end of input src/ast.cpp:2226: error: expected primary-expression at end of input src/ast.cpp:2226: error: expected ‘)’ at end of input src/ast.cpp:2226: error: expected statement at end of input src/ast.cpp:2226: error: expected ‘}’ at end of input src/ast.cpp:2226: error: expected ‘}’ at end of input src/ast.cpp: At global scope: src/ast.cpp:2226: error: expected ‘}’ at end of input src/units.hpp:11: warning: ‘Sass::PI’ defined but not used make: *** [src/ast.o] Error 1 rake aborted! Command failed with status (2): [make lib/libsass.so...] /usr/local/rvm/gems/ruby-2.6.2/gems/sassc-2.0.1/lib/tasks/libsass.rb:31:in `block (2 levels) in <top (required)>' /usr/local/rvm/gems/ruby-2.6.2/gems/sassc-2.0.1/lib/tasks/libsass.rb:13:in `block (3 levels) in <top (required)>' /usr/local/rvm/gems/ruby-2.6.2/gems/sassc-2.0.1/lib/tasks/libsass.rb:12:in `block (2 levels) in <top (required)>' Tasks: TOP => lib/libsass.so (See full trace by running task with --trace)
rake failed, exit code 1
Gem files will remain installed in /usr/local/rvm/gems/ruby-2.6.2/gems/sassc-2.0.1 for inspection. Results logged to /usr/local/rvm/gems/ruby-2.6.2/extensions/x86_64-linux/2.6.0/sassc-2.0.1/gem_make.out
经排查,是因为GCC的版本过低导致的。
按照这个步骤,检查下GCC版本,如果是同样的版本和报错,那么可以参考以下的解决方法:
1 2
[root@localhost ~]# gcc --version | head -n1 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23)
[root@localhost ~]# pip3 install --upgrade pip pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/ Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/ Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/ Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/ Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/pip/ Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping Requirement already up-to-date: pip in /usr/local/lib/python3.7/site-packages (19.0.3) pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
tar -zxvf Python-3.7.3.tgz cd Python-3.7.3 ./configure
在这一步之后,先不要着急运行make命令。先修改Modules/Setup文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
# Socket module helper for socket(2) #_socket socketmodule.c
# Socket module helper for SSL support; you must comment out the other # socket line above, and possibly edit the SSL variable: SSL=/usr/local/openssl-1.0.2j/ #取消这一行的注释,并将原来的/usr/local/ssl改为/usr/local/openssl-1.0.2j/ _ssl _ssl.c \ #取消这一行的注释 -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ #取消这一行的注释 -L$(SSL)/lib -lssl -lcrypto #取消这一行的注释
# The crypt module is now disabled by default because it breaks builds # on many systems (where -lcrypt is needed), e.g. Linux (I believe).
#_crypt _cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
(node:4963) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome! [0428/104254.469304:ERROR:zygote_host_impl_linux.cc(89)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
at onClose (/root/monkey/node_modules/puppeteer/lib/Launcher.js:342:14) at Interface.helper.addEventListener (/root/monkey/node_modules/puppeteer/lib/Launcher.js:331:50) at emitNone (events.js:111:20) at Interface.emit (events.js:208:7) at Interface.close (readline.js:370:8) at Socket.onend (readline.js:149:10) at emitNone (events.js:111:20) at Socket.emit (events.js:208:7) at endReadableNT (_stream_readable.js:1064:12) at _combinedTickCallback (internal/process/next_tick.js:138:11) (node:4963) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:4963) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
#config/routes.rb Rails.application.routes.draw do post 'images/upload' => 'upload#upload' resources :articles root to:'articles#index' # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end
Puma caught this error: Error loading the 'sqlite3' Active Record adapter. Missing a gem it depends on? can't activate sqlite3 (~> 1.3.6), already activated sqlite3-1.4.0. Make sure all dependencies are added to Gemfile. (LoadError)
页面报错如下:
1 2 3
ActiveRecord::ConnectionNotEstablished No connection pool with 'primary' found.
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 5.2.2' # Use sqlite3 as the database for Active Record gem 'sqlite3', '< 1.4.0'# <<修改这里,将sqlite3版本设定为小于1.4.0 # Use Puma as the app server gem 'puma', '~> 3.11' # Use SCSS for stylesheets gem 'sass-rails', '~> 5.0' # Use Uglifier as compressor for JavaScript assets gem 'uglifier', '>= 1.3.0' # See https://github.com/rails/execjs#readme for more supported runtimes # gem 'mini_racer', platforms: :ruby
# Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 4.2' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.5' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 4.0' # Use ActiveModel has_secure_password # gem 'bcrypt', '~> 3.1.7'
# Use ActiveStorage variant # gem 'mini_magick', '~> 4.8'
# Use Capistrano for deployment # gem 'capistrano-rails', group: :development
# Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', '>= 1.1.0', require:false
group :development, :testdo # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] end
group :developmentdo # Access an interactive console on exception pages or by calling 'console' anywhere in the code. gem 'web-console', '>= 3.3.0' gem 'listen', '>= 3.0.5', '< 3.2' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' end
group :testdo # Adds support for Capybara system testing and selenium driver gem 'capybara', '>= 2.15' gem 'selenium-webdriver' # Easy installation and use of chromedriver to run system tests with Chrome gem 'chromedriver-helper' end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
WARNING: You are running on a NUMA machine. We suggest launching mongod like this to avoid performance problems: numactl –interleave=all mongod [other options]