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

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

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

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

Node.js

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

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

Q&A

2回答

10125閲覧

npm init でpackage.jsonを作成できない

taisei1998

総合スコア0

npm

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

Node.js

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

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

0グッド

0クリップ

投稿2020/07/27 13:36

プログラミング初心者です。

Webアプリケーションを作成するために、Node.jsをインストールし、pakcage.jsonを作成しようとしたのですが、ここで問題発生です。
package.jsonを作成するために npm init で質問に答えて必要な項目を打ち込んだのですがエラーが沢山出てきてpackage.jsonを作成できません。
この問題を解決できる方がおりましたらおどうか願いします。

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

npm ERR! code EPERM npm ERR! syscall open npm ERR! path c:\Users\sushi-bot\package.json npm ERR! errno -4048 npm ERR! Error: EPERM: operation not permitted, open 'c:\Users\sushi-bot\package.json' npm ERR! [Error: EPERM: operation not permitted, open 'c:\Users\sushi-bot\package.json'] { npm ERR! errno: -4048, npm ERR! code: 'EPERM', npm ERR! syscall: 'open', npm ERR! path: 'c:\Users\sushi-bot\package.json' npm ERR! } npm ERR! npm ERR! The operation was rejected by your operating system. npm ERR! It's possible that the file was already in use (by a text editor or antivirus), npm ERR! or that you lack permissions to access it. npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories, or try running npm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Taisei\AppData\Roaming\npm-cache\_logs\2020-07-27T13_17_12_076Z-debug.log

該当のソースコード

c:\Users\sushi-bot>npm init This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help init` for definitive documentation on these fields and exactly what they do. Use `npm install <pkg>` afterwards to install a package and save it as a dependency in the package.json file. Press ^C at any time to quit. package name: (sushi-bot) version: (1.0.0) description: entry point: (index.js) test command: git repository: keywords: author: license: (ISC) About to write to c:\Users\sushi-bot\package.json: { "name": "sushi-bot", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" } Is this OK? (yes)

試したこと

Node.js command promptの再起動

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

・使用PC Windows10
・npm バージョン6.14.6
・npmを用いるために同時にインストールしたNode.jsのバージョン12.18.3

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

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

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

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

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

rubytomato

2020/07/27 13:59

Windowsに sushi-bot というユーザーがあるのでしょうか? それともC:\Users\sushi-botというディレクトリを作成したのでしょうか?
guest

回答2

0

エラーが沢山出てきて

英文です。落ち着いて読みましょう(Google翻訳を使っても良い)。

ERR 5行目「EPERM: operation not permitted」で検索すると、npm のキャッシュが問題である事例をアウトプットするブログエントリが多く見つかります。

cmd

1> npm cache clear

次行以降で、原因が syscall: 'open' とありますので

  1. package.json を作ろうとするディレクトリ(フォルダ)が「書き込み可能」な権限であるか。
  2. 他のソフトウェアでファイルを開いていないか。

また、Node.js command prompt を管理者権限で開いて試してみるという方法もあります。

最終行に示されているログファイル(C:\Users...\2020-07-27T13_17_12_076Z-debug.log)を開いて読んでみるのも良いかもしれません。


プロジェクト用ディレクトリに、package.json という空のファイルを作り、テキストエディタで手動で作成する
(コマンドラインで表示された内容をコピー&ペーストする)

package.json

1{ 2 "name": "sushi-bot", 3 "version": "1.0.0", 4 "description": "", 5 "main": "index.js", 6 "scripts": { 7 "test": "echo \"Error: no test specified\" && exit 1" 8 }, 9 "author": "", 10 "license": "ISC" 11} 12

非推奨の風潮がありますが、npm init は「テキストエディタを使わずとも package.json を対話型で作成するツール」に過ぎませんので、手動でも作成できます。

投稿2020/07/29 04:04

AkitoshiManabe

総合スコア5432

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

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

0

私もexpressをインストールしようとしてそのエラーに遭遇しました。
私はlinuxmintを使っています。
私も全部エラーが帰ってきました。
npm ERR! Error: EACCES: permission denied,と
書いてあったので、許可が拒否されたようでした。
質問者さんのエラーにも同じようなことが書いてあるようです。
npm ERR! Error: EPERM: operation not permitted,
(命令が許可されていません。)
linux はsudoで管理者権限が使えますが、windowsならcmd?を管理者権限で開いて
これまでと同じコマンドを実行すれば通るかもしれません。

linuxMintはシステムディレクトリはsudoじゃないと書き込みできないことが多いのでsudoで実行してみました。(sudoはwindowsでいう管理者権限)

sudo npm init
とするとうまくいきました。
そのあともsudoをつけて
sudo npm install express --save
とするとこれもエラーなしで通りました。
expressのインストールとかは下のサイトを見てしました。
https://expressjs.com/ja/starter/installing.html
間違ってたらごめんなさい。

投稿2021/12/01 07:22

編集2021/12/01 07:24
9nahito

総合スコア45

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問