Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

App crashes when using appdmg built with node 14

オープン
#193 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
javascript, node.js

調査の方向性

appdmg.js の 371 行目から始めます。ここでは「Making all the visuals」ステップ中に ds.setBackgroundPath が呼び出されます。提供された Node 14 と NW.js のバージョンで失敗を再現してください。ds-store の背景パス処理を調査します。DMG がクラッシュせずに作成され、背景のビジュアルが保持されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

MacOS High Sierra 10.13.6

NW.js 0.41.3 (node 12.12.0) works OK with appdmg installed with 12.18.0
NW.js 0.48.3 (node 14.11.0) FAILS with appdmg installed with 14.9.0

App crashes in the 'Making all the visuals' step. If the ds.write is skipped then appdmg will successfully create a DMG but with no visuals.

The code that is causing the issue is the ds.setBackgroundPath line - if this is commented out then again a good DMG will be created but with no background visuals.
The other bits of the visuals steps appear OK.

A console.log prior to this line shows the same format whether appdmg is using node 12 or 14 but only fails with 14 install.

appdmg.js L371 ds.setBackgroundPath(path.join(global.temporaryMountPath, global.bkgname))
gives eg: /Volumes/PepperFlash Install 18/.background/dmgback.tiff

Seems like appdmg installed with node 14 doesn't like tiff being written to the ds-store module.

The original image being used for the background was dmgback.png (82k) which obviously gets converted to a tiff.

appdmg.json -

{
"title": "PepperFlash Install",
"background": "Extras/dmg/dmgback.png",
"icon": "Extras/dmg/dmg.icns",
"contents": [
{
"x": 260,
"y": 350,
"type": "link",
"path": "/Applications"
},
{
"x": 90,
"y": 350,
"type": "file",
"path": "application.app"
},
{
"x": 490,
"y": 350,
"type": "file",
"path": "Extras/dmg/readme.txt"
},
{
"x": 512,
"y": 900,
"type": "position",
"path": ".VolumeIcon.icns"
}
]
}

主要言語
JavaScript
スター
1.7k
フォーク
158
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

LinusU/node-appdmg のほかの issue

LinusU/node-appdmg の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。