2016-08-08 19 views
0

私は*の付いたすべての依存関係を一覧表示するpackage.jsonファイルを持っていますが、最新のパッケージが必要です。私が試した:package.jsonファイルの*の置き換え方法

npm install --save

しかし、それはファイルに*さんに代わるものではありませんでした。私も空の文字列で試したが、うまくいきませんでした。

答えて

2

npm update --saveを実行するとnpmの古いバージョンではpackage.jsonが更新されますが、this appears to be broken in recent versionsとなります。

また、npm-check-updatesはpackage.jsonを更新できます。

+0

いいえ、これは私のpackage.jsonファイルに*を残します。 – Costa

+0

npmのバージョンは?私のために3.7.3で動作します。 – josh3736

+0

[これは最近のバージョンのnpmで壊れているようです](https://github.com/npm/npm/issues/13555) – josh3736

2

NPMは、あなたがこのようなものを使って手動でファイルを編集することができlatest

ている彼らのそのpackage.json 1にいくつかの特別なキーワードを理解します。

'dependencies': { 
    'jquery': 'latest' 
} 

これは常にあなたの最新バージョンを与えるだろうどのようなjquery。

+0

しかし、npmを教えて最新のものを入手し、package.jsonファイルを '^ whatever.was.downloaded'で編集する方法はありませんか?それとも何か? – Costa

+1

パッケージファイルを手動で編集する必要はありません。 'latest'は最後の安定バージョンであり、' * 'は最後のバージョン、stableまたはalphaであることに注意することが重要です。しかし、一般的にnpmがあなたのライブラリのいくつかを互換性のないバージョンに更新できるので、悪い習慣です。 '〜2'のようないくつかの制約でロックして、自分自身をメジャーバージョンにするのが良いでしょう。 – soueuls

+0

hmm .....さて、私は自分のために少しウェブサイトのスターターを作っています。アイデアは、それを複製し、インストールし、編集を開始することです。新しいプロジェクトの開始時に各モジュールの最新の安定版を使用するのは理にかなっていますが、後で大きな変更が導入されるため、そこに最新の単語を残したくありません。 – Costa

2

すべてを*に置き換えてnpm update --saveを実行することをお勧めします。 これは、依存関係のバージョンを書き留めます。

ので

"dependencies": { 
    "mongo": "*" 
} 

"dependencies": { 
    "mongo": "3.0.0" 
} 

EDITのようなものになるだろう:あなたがダウングレードするか、修正する必要がある場合がありますので、一人のユーザーが、良い点を作った、*あなたは、いくつかの非互換性の問題に取得することができます後のもの。

+0

私はこのコマンドを実行して欲しいと思います。それはしません。 – Costa

関連する問題