package.json
--save-devの実行後に更新されませんか?これは私のコマンドです:
npm install modulename --save-dev
プロジェクトのルートから実行します。コマンドが成功すると、期待どおりに新しいモジュールがnode_modulesディレクトリに表示されます。ヘルプをいただければ幸いです。私はnpm v 1.4.28を使用しています
私の現在の_package.json
は:
{
"name": "FooWeb",
"version": "1.0.0",
"description": "Foo Web",
"devDependencies": {
"gulp": "3.8.11",
"gulp-jshint": "1.9.2",
"gulp-concat": "2.5.2",
"gulp-sass": "1.3.3",
"gulp-sourcemaps": "1.4.0",
"gulp-watch": "4.1.1"
}
}
パッケージのインストール時に、リポジトリフィールドまたはREADMEがないという警告が表示されますが、関連していないと思います。
私もこの問題を抱えていて、それが私を夢中にさせていました。
最終的に修正されたのは、npm init
を実行していたことです。これにより、package.jsonに大量のものが追加されましたが、その後--save-dev
は期待どおりに機能しました。 npm init
によって追加された新しいものをすべて削除した後でも、--save-dev
は機能しました。
そこに-gフラグがあり、それを削除すると、期待どおりに機能しました...
jSONファイルに移動->プロパティを右クリック->「読み取り専用」フラグを削除。
私は最近これに遭遇し、何らかの理由でAtomであり、ファイルが開いていなくてもファイルの更新を妨げていたことがわかりました。
エディターを閉じて、npmインストールを再実行し、エディターを再度開きました。
これは、保存されていないpackage.json
を開いている場合、VSCode(またはおそらく他のエディター)で発生する可能性があります。
ファイルwasは実際に更新されていますが、IDEにリロードされていません。ファイルが編集されていない場合にのみデフォルトでリロードされると思いますか?または、警告を無視するために何かをクリックしたかもしれません。
Mustafah ELBannaの答えは私を助けましたが、私は自分のような他の初心者のために彼の答えを広げたいです。重要なものを見逃した場合は修正してください。
-g
フラグを削除すると、モジュールはマシンにグローバルにインストールされず、プロジェクト内のローカルにのみインストールされます。また、グローバルにインストールする場合は、同じコマンドを再度実行しますが、次のように-g
の代わりに--save-dev
を使用します。
npm install --save-dev [packagename]
npm install -g [packagename]
-g
と--save
を1行で呼び出すと、何かがうまくいかないように思えます。
しかし、繰り返しますが、私はこれに慣れていないので、私の答えを改善/修正したい人に感謝しています。
「npm install --save grunt-sass」を使用してgruntjsをインストールしようとしましたが、package.jsonは更新されません
上記のすべてを行いましたが、運はありませんでした。しかし面白いのは、「アンダースコア(npm install --save underscore)」というパッケージを追加しようとすると、息子が更新されることです。これがnamの問題なのかどうかはわかりません。スーパーユーザーとしてインストールしました。
これを解決できた唯一の方法は、npm install --save-dev moduleName
の代わりにnpm install moduleName --save-dev
を使用することでした。ただし、npm install moduleName --save
を使用するとうまくいきます。 --save-dev
を使用する場合にのみ、moduleName
の前に配置する必要があります。これが誰にも役立つことを願っています。
Package.jsonファイルのdevDependenciesから依存関係を削除し、-saveのみを使用して再インストールする
Package.jsonに構文エラーがあり、これが原因でした。
私にとって問題は、メモ帳++からコマンドをコピーしたことで、そこに特別な文字が含まれているか、スペースであり、package.jsonを更新していませんでした。
例えば動作しませんでした; npm install --save debug pug jwt-simple method-override mongoose
インストール時に、コマンドラインをクリーンアップしてください。エンコーディングによっては特殊な文字が含まれている場合があるため、各モジュール間にスペースがあります。
私はこれにそれを修正したとき、それは働いた。
npm install --save debug pug jwt-simple method-override mongoose
また、コマンドの実行時にpackage.jsonがエディターで開かれないようにしてください。すべてのエディターがこれを適切に処理するわけではありません。
最初に設定を確認することもできます(npm config ls
コマンドまたは~/.npmrc
ファイル)。私はlink=true
。
バージョン5.5.1では、-saveがアクティブな場合、このオプションは無視されるようです。 -save-devが-saveに置き換わると、リンクモードが再びアクティブになります。
だから私にとっては--save
オーバーライド--link
順番に--save-dev
。
を持っています .npmrc
パッケージを取得するために社内で構築されたnpm
apiを使用するファイル。私の問題は、会社のVPN
に接続していなかったことです。
同じ問題がありました。パッケージをインストールしたとき、package.jsonに表示されませんでした。そこで、package.jsonファイルを削除し、npm initを再度実行しました。その後は動作し、以前にインストールしたパッケージも依存関係にありました。
Express Generatorを使用した後、-sを使用していくつかのパッケージをインストールしましたが、package.jsonには追加しませんでした。
その後、package.jsonを削除し、npm initを実行し、それらすべてを再インストールせずに追加しました
上記の回答に記載されているすべてのコマンドを試しましたが、npm-upgrade
パッケージ。
npm i -g npm-upgrade
その後npm-upgrade