1
votes

Impossible d'installer la version 1.4.4 de bootsnap

J'essaie de faire démarrer le serveur pour la première fois en utilisant des rails. J'utilise donc

source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '2.3.3'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.3'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# 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 'duktape'
# 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, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end

group :development do
  # Access an interactive console on exception pages or by calling 'console' anywhere in the code.
  gem 'web-console', '>= 3.3.0'
end

group :test do
  # 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]

Cela m'a donné:

Fetching bootsnap 1.4.4
Installing bootsnap 1.4.4 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.4/ext/bootsnap
C:/RailsInstaller/Ruby2.3.3/bin/ruby.exe -r ./siteconf20190516-15728-gz8r2f.rb
extconf.rb
creating Makefile

current directory:
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.4/ext/bootsnap
make "DESTDIR=" clean

current directory:
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.4/ext/bootsnap
make "DESTDIR="
generating bootsnap-i386-mingw32.def
compiling bootsnap.c
bootsnap.c: In function 'bs_cache_path':
bootsnap.c:245:3: warning: unknown conversion type character 'l' in format
[-Wformat]
bootsnap.c:245:3: warning: too many arguments for format [-Wformat-extra-args]
bootsnap.c: In function 'bs_rb_fetch':
bootsnap.c:286:3: warning: ISO C90 forbids mixed declarations and code
[-Wdeclaration-after-statement]
bootsnap.c: In function 'fetch_cached_data':
bootsnap.c:412:3: warning: comparison is always false due to limited range of
data type [-Wtype-limits]
bootsnap.c: In function 'atomic_write_cache_file':
bootsnap.c:484:3: warning: implicit declaration of function 'mkstemp'
[-Wimplicit-function-declaration]
bootsnap.c: In function 'bs_rb_fetch':
bootsnap.c:632:13: warning: 'output_data' may be used uninitialized in this
function [-Wmaybe-uninitialized]
bootsnap.c:603:9: note: 'output_data' was declared here
linking shared-object bootsnap/bootsnap.so
bootsnap.o: In function `atomic_write_cache_file':
C:\RailsInstaller\Ruby2.3.3\lib\ruby\gems\2.3.0\gems\bootsnap-1.4.4\ext\bootsnap/bootsnap.c:484:
undefined reference to `mkstemp'
collect2.exe: error: ld returned 1 exit status
make: *** [bootsnap.so] Error 1

make failed, exit code 2

Gem files will remain installed in
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/bootsnap-1.4.4 for
inspection.
Results logged to
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/bootsnap-1.4.4/gem_make.out

An error occurred while installing bootsnap (1.4.4), and Bundler cannot
continue.
Make sure that `gem install bootsnap -v '1.4.4' --source
'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  bootsnap

Lors de l'exécution de bundle install Cela m'a donné:

Error installing bootsnap:
    ERROR: Failed to build gem native extension.

Quand j'essaye la commande qu'il me donne:

An error occurred while installing bootsnap (1.4.4), and Bundler cannot
continue.
Make sure that `gem install bootsnap -v '1.4.4' --source
'https://rubygems.org/'` succeeds before bundling.

Ceci est un extrait de l'erreur log:

Could not find gem 'turbolinks (~> 5) x86-mingw32' in any of the gem 
sources listed in your Gemfile.
Run `bundle install` to install missing gems.

Le GemFile:

 ruby bin\rails server


7 commentaires

Pourriez-vous inclure un extrait du journal des erreurs? Il peut y avoir plusieurs raisons pour lesquelles la construction a pu échouer et le journal des erreurs devrait généralement contenir ces informations.


J'ai ajouté le journal des erreurs


Comme vous pouvez le voir dans le journal des erreurs, la gemme bootsnap elle-même semble boguée. Essayez de mettre à jour la version de gemme associée dans votre Gemfile ou de supprimer la version pour utiliser la dernière. Si cela ne fonctionne pas, incluez également votre Gemfile dans la question. Serait mieux pour le débogage.


Oui monsieur, j'ai ajouté le GemFile selon la demande


Cela a fonctionné pour moi. Pouvez-vous essayer de désinstaller le gem en utilisant gem uninstall bootsnap -v '1.4.4' et de le réinstaller en utilisant gem install bootsnap -v '1.4.4'


même erreur rien n'a changé


Double possible: stackoverflow .com / questions / 55857930 /…


4 Réponses :


1
votes

Il y a un problème avec la version ruby ​​et la version gem bootsnap. alors mettez à jour votre version ruby ​​'2.3.7' ou '2.4.5' selon les rails 5.2.3

Quel Ruby on Rails est compatible avec quel Ruby version?


0 commentaires

0
votes

J'ai eu un problème exactement similaire ... cela m'a pris des heures, je n'ai pas pu le comprendre. J'ai changé manuellement la version en gem 'bootsnap', '> = 1.4.4', require: false, mais cela n'a pas fonctionné.

J'ai donc résolu le problème en commentant. C'est parce que j'ai compris que mon application fonctionnerait toujours sans bootnap, car il est utile pour accélérer le temps de démarrage en mettant en cache des opérations coûteuses.

Pour ce faire, accédez à Gemfile et commentez bootsnap comme ceci:

#gem 'bootsnap', '> = 1.4.4', nécessite: false

Ensuite, allez dans le fichier boot.rb dans la configuration et commentez comme ci-dessous:

#require 'bootsnap / setup' # Accélérez le temps de démarrage en mettant en cache des opérations coûteuses.

Après cela, faites

installation groupée

puis lancez mon serveur rails comme ci-dessous:

rails s


0 commentaires

0
votes

J'ai essayé ce que vous aviez suggéré: -

Mais cela n'a pas fonctionné - Mon serveur a démarré mais a pu charger mon application - Ma patience a été testée.

Sans commentaire -

Bundle Install

et exécutez

require 'bootsnap/setup' # Speed up boot time by caching expensive 
operations.

gem 'bootsnap', '>= 1.4.4', require: false 

J'ai démarré mon serveur et mon application a fonctionné en quelques secondes


0 commentaires

0
votes

Cela m'est arrivé aujourd'hui alors que j'essayais Rails 6. Sur ma machine locale, j'ai installé la version 2.7.0 de Ruby, ainsi que la version 6.0.1 de Rails. Il s'avère que j'avais juste mis à niveau le système d'exploitation de mon Mac vers Catalina. Le correctif pour moi était de fonctionner dans le terminal

xcode-select --install

J'ai exécuté ceci dans mon répertoire ~ , je ne sais pas si cela importera car l'installation de xcode est très probablement globale. Après avoir exécuté cela, je suis revenu à mon nouveau répertoire d'applications Rails, j'ai exécuté le bundle et tout est installé sans problème, y compris bootsnap et pg.

J'espère que cela aidera tous les utilisateurs de Mac qui ont récemment mis à jour leur système d'exploitation. Remarque, j'utilisais auparavant Mojave et j'avais encore besoin de réinstaller xcode, après l'avoir déjà installé lorsque j'exécutais Mojave.


0 commentaires