「なでしこv3」開発掲示板

なでしこ3を改善するための掲示板
[一覧へ] > (@86) [低] [解決]
@86■ (#308) macOS での cnako3 と nadesiko3-server の「取り込み」の不具合 - mitunaga (2024-05-23 10:49) /低 未処理
環境は
macOS Ventura 13.6.6 (Apple M1 MacBook Air)
node v22.2.0
です。この環境で、なでしこのバージョン 3.6.5 の nako3edit は正常に実行、Ctrl-C で止められます。

ところが cnako3 を実行すると下記のようになり起動しません (3.4.24 までは OK, 3.4.26 以降 3.6.5 もダメ)
foo@m1mba 2023j2 % cnako3
/opt/homebrew/bin/cnako3: line 1: /Applications: is a directory
/opt/homebrew/bin/cnako3: line 2: autoanswer.nako3: command not found
/opt/homebrew/bin/cnako3: line 3: data1/: is a directory
/opt/homebrew/bin/cnako3: line 4: import: command not found
/opt/homebrew/bin/cnako3: line 5: //: is a directory
/opt/homebrew/bin/cnako3: line 6: syntax error near unexpected token `='
/opt/homebrew/bin/cnako3: line 6: `(async () => {'

つぎに webserver と websocket サーバを起動するなでしこのプログラムを動かすと cnako3 を Ctrl-C で止められなくなっています(もちろん kill すれば止まります)。これは 3.4.17 以降です (3.4.14 までは OK)。nako3edit は 3.6.5 でも Ctrl-C で止められます。

さいごに、いつからかは不明ですが、

!「nadesiko3-server」を取り込む。

はエラーになり

!「node_modules/nadesiko3-server/nadesiko3-server.mjs」を取り込む。

と書く必要があります(npm install nadesiko3-serverでインストールしています)。エラーは下記

foo@m1mba 2023j2 % cnako3 autoanswer.nako3
[エラー]NakoError: [取り込みエラー]autoanswer.nako3(3行目): JSプラグイン『nadesiko3-server』が見つかりません。以下のパスを検索しました。
- (母艦パス/package.json) /Users/mitunaga/tmp/2023j2/nadesiko3-server/package.json, false
- (runtime/package.json) /opt/homebrew/lib/node_modules/nadesiko3/node_modules/nadesiko3-server/package.json, false
- (runtimeLib/package.json) /opt/homebrew/lib/node_modules/nadesiko3-server/package.json, false
- (nadesiko3core/package.json) /opt/homebrew/lib/node_modules/nadesiko3/node_modules/nadesiko3core/src/nadesiko3-server/package.json, false
- (NODE_PATH/package.json) /opt/homebrew/lib/node_modules/nadesiko3-server/package.json, false

です。

同様にインストールしている  nadesiko3-websocket は

!「nadesiko3-websocket」を取り込む。

で OK です。

(#309) npm exec cnako3 でも同じエラー - mitunaga (2024-05-23 10:57) /低 未処理
cnako3 でなく npm exec cnako3 でも同じエラーになります

(#310) v3.6.6で修正しました - クジラ飛行机 (2024-05-24 00:56) /低 確認待ち
npm exec cnako3が動かない問題を修正しました
https://github.com/kujirahand/nadesiko3/issues/1667

ただ、Ctrl+cで止まらない問題がまだ残っているので、引き続き以下のIssuesで調査します。
https://github.com/kujirahand/nadesiko3/issues/1668
止まらないと不便ですね😿

(#312) cnako3 の動作確認しました - mitunaga (2024-05-24 10:16) /低 確認待ち
macOS + v3.6.6 で cnako3 が動作することを確認しました。ありがとうございます。

Ctrl-C の問題は macOS だけでなくて Windows も同じようでした。

(#313) Ctrl+C , 「取り込む」の問題 - mitunaga (2024-05-24 14:49) /低 確認待ち
Ctrl+C は、おそらく #1447 https://github.com/kujirahand/nadesiko3/pull/1447 の変更の副作用だと思います。Windows の nakopad.exe  の停止ボタンも効かないようでした。

「取り込む」の方は、macOS はフルパスを書く必要があり、Windows は従来通りのモジュール名(or モジュール名+.js) のみでよいようです。たとえば nadesiko3-websocket のサンプルプログラム sample/wss/wss-server.nako3 にも
!「plugin_express.js」を取り込む。
がありますが、cnako3 で実行すると以下のようになってしまいます。
[エラー]NakoError: [取り込みエラー]wss-server.nako3(2行目): JSプラグイン『plugin_express.js』が見つかりません。以下のパスを検索しました。
- (母艦パス) /Users/mitunaga/tmp/2023j2/node_modules/nadesiko3-websocket/sample/wss/plugin_express.js, false
- (母艦パス/package.json) /Users/mitunaga/tmp/2023j2/node_modules/nadesiko3-websocket/sample/wss/plugin_express.js/package.json, false
- (runtime) /opt/homebrew/lib/node_modules/nadesiko3/node_modules/plugin_express.js, false
- (runtime/package.json) /opt/homebrew/lib/node_modules/nadesiko3/node_modules/plugin_express.js/package.json, false
- (runtimeLib) /opt/homebrew/lib/node_modules/plugin_express.js, false
- (runtimeLib/package.json) /opt/homebrew/lib/node_modules/plugin_express.js/package.json, false
- (nadesiko3core) /opt/homebrew/lib/node_modules/nadesiko3/node_modules/nadesiko3core/src/plugin_express.js, false
- (nadesiko3core/package.json) /opt/homebrew/lib/node_modules/nadesiko3/node_modules/nadesiko3core/src/plugin_express.js/package.json, false
- (NODE_PATH) /opt/homebrew/lib/node_modules/plugin_express.js, false
- (NODE_PATH/package.json) /opt/homebrew/lib/node_modules/plugin_express.js/package.json, false

(#314) 「取り込む」の問題 - mitunaga (2024-05-24 15:07) /低 確認待ち
バラバラとすいません。「取り込む」は npm -g でインストールしたものしか省力形式で読み込めないのが仕様ででしょうか。以前に nadesiko3-websocket は -g でインストールしていたことが分かりました。nadesiko3-server も npm -g install nadesiko3-server でインストールすると省略形式で読み込めるのを確認しました。


(#315) 取り込むの挙動 - クジラ飛行机 (2024-05-31 20:48) /低 確認待ち
最新版で、cnakoのCtrl+cで止まらない問題を修正しました。
また、

>  npm -g でインストールしたものしか省力形式で読み込めないのが仕様
基本的には、そうです。

ですが、下記のように、なでしこのインストールパスと並んだ場所か、

- nadesiko3/
- nadesiko3-server/nadesiko3-server.js

メインプログラムからの相対パスか。

===
!「../../path/to/plugins」を取り込む
===

絶対パスを指定すれば読み込めると思います。

===
!「/path/to/plugins」を取り込む
===

よろしくお願いします。

(#318) Ctrl+C で停止確認しました - mitunaga (2024-06-04 17:34) /低 解決
ありがとうございます。最新版にして Ctrl-C で止められることを確認しました。

「取り込む」の方、丁寧にご説明ありがとうございます。以前できたと思っていたのは何かの勘違いだったということですね。

(#308)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能