Skip to main content

04 - Belajar ganti logo openproject

Berawal dari keinginan mengubah logo OpenProject menjadi logo custom, yang ada malah server blank selama 6 jam. Ingat Sandi, sebelum lakukan major changing lakukan snapshot untuk memudahkan rollback ketika ada error.  Pusing juga ya 6 jam bergelut dengan aplikasi OpenProject yang tidak bisa diakses, sementara sedang akan digunakan besok. Hampir mual dan gak doyan makan.

Lalu apa sebenarnya masalahnya, ternyata karena perbedaan dependencies antara Node.js dan NPM, jadi setelah diganti logonya, harus di precompile, sementara NPM sudah auto update jadi tidak kompatibel lagi dengan Node.js. Pas precompile error, sementara output dari precompile ini adalah themes yang akan ditampilkan sebagai frontend. Akibatnya halaman menjadi putih bersih, tapi begitu di inspect dengan CTRL+Shift+i terindikasi semuanya missing. Ok, apa yang saya lakukan:

Langkah pertama | Downgrade versi NPM dan NODE.JS dengan perintah berikut, (Jodoh Node.JS versi 10.19.0 adalah NPM 6.14.14)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

Langkah kedua | Install nvm, nvm adalah node version manager, tools mudah untuk mengelolan versi node.js yang akan digunakan.

nvm install 10.19.0

Seting nvm untuk menggunanakan node.js versi 10. dengan perintah sebagai berikut:

nvm use 10.19.0

Kemudian, insatll versi NPM sesuai dengan jodohnya yaitu  versi 6.14.14

npm  install -g npm@6.14.14

oke proses downgrade telah selesai, lanjut pekerjaan utama yang tertunda selama enam jam yaitu compile frontend open project.

  1. Laksanakan prosedur kompiler dengan perintah: openproject run rake assets:precompile.
  2. Laksanakan prosesur stop service, systemctl stop openproject.
  3. Laksanakan proses configure, Ingat configure bukan re-configure. openproject configure.
  4. Jalankan service, systemctl start openproject.

 

Apa itu Node.Js dan NPM?

Node.js: adalah platform runtime JavaScript yang dibangun di atas mesin JavaScript V8 dari Google Chrome. Node.js memungkinkan eksekusi kode JavaScript di luar browser, sehingga dapat digunakan untuk mengembangkan aplikasi server-side dan scripting di lingkungan server. Node.js menyediakan lingkungan yang efisien dan non-blocking, yang membuatnya cocok untuk menghadapi tugas berbasis I/O dan menjalankan server web, API, dan aplikasi lainnya.

npm (Node Package Manager): adalah manajer paket untuk Node.js. Ini adalah repositori publik yang memungkinkan pengembang JavaScript untuk berbagi dan mengelola paket kode JavaScript yang dapat digunakan dalam proyek mereka. Dengan npm, Anda dapat dengan mudah menginstal, mengelola, dan memperbarui dependensi atau paket yang diperlukan dalam proyek Node.js Anda. npm juga menyediakan alat untuk menjalankan skrip, mengelola proyek, dan memfasilitasi kolaborasi dalam pengembangan perangkat lunak.

Secara singkat, Node.js memberikan runtime JavaScript di sisi server, sementara npm adalah alat manajemen paket yang memungkinkan pengelolaan dependensi dan distribusi kode di ekosistem Node.js. Keduanya bekerja bersama untuk mendukung pengembangan aplikasi JavaScript yang efisien dan dapat diandalkan di berbagai platform.