質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.46%
npm

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

Node.js

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

Q&A

解決済

2回答

2566閲覧

npmのバージョンアップについて

moti_in_the_sky

総合スコア1

npm

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

Node.js

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

0グッド

0クリップ

投稿2021/10/21 07:40

編集2021/10/21 16:44

イメージ説明

「現在のnpmのバージョンが6.14.15なのでnode.jsでmysqlをインストールできません。バージョンを8.1.0にあげてください」と出るのでバージョンアップをしたいです。
アップデートコマンドを打ってもなんのメッセージも出ずに改行?されてしまいました。この場合、実行先のnpmが複数あるかもしれないと書かれていたので、現在使われているnpmがどこから実行されているかの確認をできるコマンド
$ (Get-Command npm).Definition
を打つと
syntax error near unexpected token `.Definition'
と出ます。調べてもよくわからないですし、とにかくnpmのバージョンを最新に上げたいです。

どうすればいいですか?教えてください。

発生している問題・エラーメッセージ

エラーメッセージ  syntax error near unexpected token `.Definition'

該当のソースコード

ソースコード $ (Get-Command npm).Definition

試したこと

npm install -g npm というコマンドも試しました。すると大量にWARNメッセージとERR!メッセージが出てきました。
WARNはcheckPermissions Missing write access to...のようなメッセージ
ERR!はcode EACCES など色々

補足情報(FW/ツールのバージョンなど)

Macを利用しています。

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

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

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

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

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

guest

回答2

0

ベストアンサー

まず、(Get-Command npm).DefinitionというのはPowerShellというWindows向けのコマンドです。
Macではnpm --versionでバージョンを確認できます。

「WARNはcheckPermissions Missing write access to...のようなメッセージ
ERR!はcode EACCESなど色々」というのは、「書き込み権限がないよ」というエラーです。

npmをアップデートするということはnpm関連のファイルを書き換えたり、移動したりといった操作をするので、ファイルの書き込み権限がないとできないのです。

npm installでError:EACCESがでたら - Qiita

解決するにはchmod 777 /usr/local/lib; sudo chmod 777 /usr/local/lib/node_modulesで権限を付与したり、sudo npm install -g npmとする方法もありますが、それよりもnodebrewなどのバージョン管理コマンドをインストールしてそのコマンド経由でアップデートする方法をおすすめします。

この方法であれば管理者権限も不要ですし、フォルダによってnpmのバージョンを分けたり、最新のnodeを使うことができます。

nodebrewのインストールと使い方 - kamoqq.info

sh

1# nodebrewをインストール 2curl -L git.io/nodebrew | perl - setup 3# 設定を.bashrcに追記 4echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bashrc 5# 設定を反映 6source ~/.bashrc 7# nodebrewで最新のnodeをインストール 8nodebrew install latest 9# 最新のnodeを使うように設定 10nodebrew use latest 11# npmをアップデート 12npm install -g npm

以上、ご参考まで。

投稿2021/10/21 12:17

編集2021/10/21 12:21
fj68

総合スコア752

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

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

moti_in_the_sky

2021/10/21 12:34

ご回答ありがとうございます。 ファイルの権限について調べると、書いてくださっている通りのことが書かれており、理解しました。nodebrewでそのようなことができるんですね!早速インストールしようと思います。ただ使用しているmacはzshで起動?するのですが、指定は.bashrcで大丈夫なのでしょうか…?
fj68

2021/10/21 12:40

zshの場合は.zshrcにしてくださいね!
moti_in_the_sky

2021/10/21 13:08

わかりました、一度やってみます!ありがとうございます!
moti_in_the_sky

2021/10/21 14:12

nodebrewをインストールし、npmをアップデートするコマンドを打つと成功しているみたいなんですが、バージョン確認してみると前のバージョンになってしまいます…
fj68

2021/10/21 14:46 編集

「which npm」でどこのnpmを使っているか表示してみてください。 もしかしたら元々入っていた方を参照しているのかもしれません 一応、nodeのバージョンも確認していただけると大変助かります。
fj68

2021/10/22 01:22

編集ありがとうございます。 Nodebrewの管理下には入っているようですが、元々入っていたnodeとnpmが悪さをしているのかもしれません。 少し調べて見ますね。
moti_in_the_sky

2021/10/22 02:24

すみません!夜中だったので朝返そうと思っていました!しかも、npmのバージョン載せ忘れてました。which npmと打った後にnpm -v とすると最新のバージョンに上がったものになっていました!調べてくださっていたのに、本当に申し訳ありません。 ただnpm install mysqlとコマンド入れても脆弱性はないよ!という応答しかなくmysqlを入れるのにまた苦労しています。すでにインストールされているわけでもなさそうで…。 もう少し調べてからそれでもわからなければ、またこちらのサイトに投稿させていただこうと思いますので、その時はぜひご教示ください。 本当にありがとうございます!
fj68

2021/10/22 02:26

あ、そうだったんですね 無事インストールできていたとのこと、まずはよかったです! MySQLの方も頑張ってください。
moti_in_the_sky

2021/10/22 08:45

本当に失礼致しました…ありがとうございます、頑張ります!
guest

0

npmのバージョンアップ方法

$ npm -v 6.14.15 $ npm install -g npm /Users/foo/.nodenv/versions/12.22.6/bin/npm -> /Users/foo/.nodenv/versions/12.22.6/lib/node_modules/npm/bin/npm-cli.js /Users/foo/.nodenv/versions/12.22.6/bin/npx -> /Users/foo/.nodenv/versions/12.22.6/lib/node_modules/npm/bin/npx-cli.js + npm@8.1.0 added 72 packages from 18 contributors, removed 289 packages and updated 148 packages in 8.041s $ npm -v 8.1.0

投稿2021/10/21 07:55

technocore

総合スコア7247

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

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

moti_in_the_sky

2021/10/21 07:59 編集

そのコマンドは打ちましたがエラーが出ます。試したこと に記載しています。
technocore

2021/10/21 08:00

私の環境ではエラーは出ませんでした。
moti_in_the_sky

2021/10/21 08:16

エラーが出るので質問しているのです。インストール方法を聞いているのではなく、解決策を質問しているので回答になっていません。 回答していただけるのは嬉しいですが、意味のない回答はご遠慮ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問