🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

1回答

2835閲覧

nodeとnexeのバージョンによるインストール不可を解消したい

Izumo1101

総合スコア49

npm

npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2021/02/15 06:58

編集2021/02/16 06:08

手探りで開発環境を構築している初心者です。
nodeで開発した小規模システムをnode未インストールの端末でも使えるように実行ファイル形式にしたいと思っています。現にこの希望は一つの端末では叶っています。

ところが新しいPCでも開発環境を整える必要があり、これを設定しようとするのですがうまくいきません。以前最新のnodeをインストールしたところnexeがインストールできなかったので、現在うまくいっているバージョンにそろえて行おうとしています。

現在できている端末
node v10.15.3
nexe 3.3.2
npm 6.4.1

試している新規端末(nodistによる)
node v10.15.3
npm 6.9.0

cmd

1C:\Users*******\Desktop*********>npm install nexe@3.3.2 2npm WARN saveError ENOENT: no such file or directory, open 'C:\Users*******\Desktop*********\package.json' 3npm WARN enoent ENOENT: no such file or directory, open 'C:\Users*******\Desktop*********\package.json' 4npm WARN ********* No description 5npm WARN ********* No repository field. 6npm WARN ********* No README data 7npm WARN ********* No license field. 8 9+ nexe@3.3.2 10removed 49 packages, updated 2 packages and audited 670 packages in 3.289s 11found 3 high severity vulnerabilities 12 run `npm audit fix` to fix them, or `npm audit` for details

ディレクトリではなくグローバルにすべきかと思い、-gをするも

cmd

1npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated 2npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated 3C:\Program Files (x86)\Nodist\bin\nexe -> C:\Program Files (x86)\Nodist\bin\node_modules\nexe\index.js 4+ nexe@3.3.2 5added 115 packages from 95 contributors, removed 27 packages, updated 37 packages and moved 2 packages in 14.558s

となります。おそらく・・・ひどく初歩的な質問なのでしょうが、解決策を教えていただけるとありがたいです。

以下補足
「これが全文なら」というご指摘をうけ、ハッとしました。
完全に失念しておりましたが、nexeを実行した際のエラーがいかになります。

cmd

1C:\Users******\Desktop*********>nexe index.js 2i nexe 3.3.2 3√ Downloading pre-built Node.js 4√ Finished in 3.948s 5 6Error: https://github.com/nexe/nexe/releases/download/v3.0.0/windows-x64-10.15.3 is not available, create it using the --build flag 7 8See nexe -h for usage..

大変失礼しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

見た感じ全てnpm WARNですね。
これは「余力があれば読んでおいてね」程度のものです。

例えばWindows、MacOS、Linux等の環境の違いで依存モジュールが違って当然なので、
それの分岐処理が発生する等の当然発生するだろう状況下でも表示されたりします。

エラーならば明確に「npm ERROR」みたいなワードと共に叱られるはずですので、
これが全文ならば特に問題はないはずです。


ここからはNode.jsの元ネタJavaScriptの話になりますが、
JavaScriptはブラウザに格納され、
Webページの画面を書き換える為に使われます。

これが何を指すかというと、
今日ブラウザのアップデートと共にJavaScriptの実装が変更された。

それが原因で昨日閲覧できたWebサイトが、
JavaScriptエラーで落ちて閲覧できなくなった。
これは許されないことで、仕様を作っているECMAScriptでも破壊的な変更はせず、
構文やビルトインメソッドの追加だけでバージョンアップを行っています。

こういった事情がありますので、
Node.jsでも古いバージョンで作ったプログラムが次のバージョンで動作しない
こういう事は殆ど発生しません。

無理にバージョンを固定せずとも、
Node.jsとnpmに関しては
最新のものでゆるゆるとやって大丈夫かと思います。


ただし、npm越しに入れるライブラリは話が変わります。
セマンティックバージョニングなるガイドラインは一応存在しますが、世の多くのライブラリはガン無視で適当です。
パッチバージョンで破壊的な変更が入って当然です。

一応npmでも護る意味で
導入ライブラリのバージョンを固定するやり方が存在します。
参考サイト: 公式サイトのドキュメント

npmはプロジェクトルートにpackage.jsonを作成して、
そのファイルに依存モジュールのバージョン情報等を書き込む等して管理しています。
もし作ってなければnpm init -yコマンドで作成しましょう。
node_modulesフォルダはnpmが勝手に書き換えるので、極力触らずGit管理もしない方針で行きましょう。

投稿2021/02/16 04:52

miyabi-sun

総合スコア21203

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問