Wie Garn aus einer Rails-Anwendung vollständig entfernen?

stimmen
0

Ich baue eine Rails 5.1.x Rails - Anwendung mit jQueryund ein paar andere Bibliotheken. Rails besteht auf Garn, auf, die auf die Entwicklung Maschine in Ordnung ist , aber ich kann es nicht auf die Produktion haben.

Gibt es eine Möglichkeit nicht zu haben Schienen verwenden Yarn standardmäßig? Entfernen Sie yarn.lockund node_modulesund alles andere , was mit ihm kommt.

Veröffentlicht am 20/10/2018 um 11:35
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
2

Wenn Sie ein Schienen - Projekt erstellen, können Sie hinzufügen , --skip-yarnwie rails new app_path --skip-yarn.

Beantwortet am 20/10/2018 um 14:11
quelle vom benutzer

stimmen
0

Entfernen Sie die folgenden Zeilen aus den Dateien

bin / setup.rb und bin / update.rb

-  # Install JavaScript dependencies if using Yarn
-  system('bin/yarn')

config / initializers / assets.rb

# Add Yarn node_modules folder to the asset load path.
Rails.application.config.assets.paths << Rails.root.join('node_modules')
Beantwortet am 18/06/2019 um 15:01
quelle vom benutzer

stimmen
0

In Rails 5.2.x und 6.0.x , wenn Sie neue Rails - Anwendung mit --skip-Garn - Flag erstellen, fügt er noch einen Scheck , wenn Garn installiert ist. Also , wenn Sie laufen rails webpacker:install, könnte das Ergebnis sein

Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/

Die Lösung besteht darin , diese vier Zeilen am Ende der Rakefile hinzuzufügen, direkt nach Rails.application.load_tasks:

# Replace yarn with npm
Rake::Task['webpacker:yarn_install'].clear
Rake::Task['webpacker:check_yarn'].clear
Rake::Task.define_task('webpacker:verify_install' => ['webpacker:check_npm'])
Rake::Task.define_task('webpacker:compile' => ['webpacker:npm_install'])

Dies entfernt Check für Garn, und Sie können nur webpack verwenden.

Beantwortet am 17/12/2019 um 13:44
quelle vom benutzer

stimmen
1

Nur ein Heads - up zu jemandem diese Frage in Zukunft zu lesen: Max Popoff Antwort funktioniert nur , wenn Sie die neuen Rake Aufgaben verwiesen in ihrer Rakefile ersten definieren. Es ist ein wenig mehr Informationen zu diesem Blog - Post , aber im Wesentlichen, müssen Sie eine Datei wie folgt hinzuzufügen:

# lib/tasks/webpacker.rake

namespace :webpacker do
  task :check_npm do
    begin
      npm_version = `npm --version`
      raise Errno::ENOENT if npm_version.blank?
      version = Gem::Version.new(npm_version)

      package_json_path = Pathname.new("#{Rails.root}/package.json").realpath
      npm_requirement = JSON.parse(package_json_path.read).dig('engines', 'npm')
      requirement = Gem::Requirement.new(npm_requirement)

      unless requirement.satisfied_by?(version)
        $stderr.puts "Webpacker requires npm #{requirement} and you are using #{version}" && exit!
      end
    rescue Errno::ENOENT
      $stderr.puts 'npm not installed'
      $stderr.puts 'Install NPM https://www.npmjs.com/get-npm' && exit!
    end
  end

  task :npm_install do
    system 'npm install'
  end
end
Beantwortet am 29/12/2019 um 18:43
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more