Her ikisiyle de bir paket kurma talimatlarını görüyorum
npm install <package_name>
veya
npm install <package_name> --save
veya
npm install <package_name> --save-dev
Bu seçenekler arasındaki fark nedir?
Yanıtlar:
npm install <package_name> --save
paketi yükler ve package.json dosyanızdaki bağımlılıkları günceller. Bu soru sorulduğundan --save
, varsayılan seçenek haline gelen npm'de bir değişiklik oldu, bu nedenle --save
bağımlılıkları güncellemek için kullanmanıza gerek kalmaz .
npm install <package_name> --no_save
paketi yükler, ancak paket.json dosyanızda listelenen bağımlılıkları güncellemez.
npm install <package_name> ---save-dev
devDependencies
paketinizdeki güncellemeleri . Bunlar yalnızca yerel test ve geliştirme için kullanılır.
Daha fazlasını https://docs.npmjs.com/getting-started/using-a-package.json adresinde okuyabilirsiniz .
npm install, ana paketinizdeki paket sürümünü kaydeden veya güncelleyen 3 özel, isteğe bağlı bayrak alır. json:
-S, --save
: Paket bağımlılıklarınızda görünecektir.
-D, --save-dev
: Paket devDependency'lerinizde görünecektir.
-O, --save-optional
: Paket, isteğe bağlı Bağımlılıklarınızda görünecektir.
Bağımlılıkları package.json dosyanıza kaydetmek için yukarıdaki seçeneklerden herhangi birini kullanırken, ek, isteğe bağlı bir işaret vardır:
-E, --save-exact
: Kaydedilen bağımlılıklar, npm'nin varsayılan semver aralığı operatörünü kullanmak yerine tam sürümle yapılandırılacaktır. Ayrıca, bir npm-shrinkwrap.json dosyanız varsa, o zaman da güncellenecektir.
<scope>
İsteğe bağlı. Paket, belirtilen kapsamla ilişkili kayıt defterinden indirilecektir. Verilen kapsam ile hiçbir kayıt defteri ilişkilendirilmemişse, varsayılan kayıt defteri varsayılır. Npm kapsamına bakın.
Not: Kapsam adınıza @ sembolünü dahil etmezseniz, npm bunu bir GitHub deposu olarak yorumlar, aşağıya bakın. Kapsam adlarından sonra eğik çizgi gelmelidir.
Örnekler:
npm install sax --save
npm install githubname/reponame
npm install @myorg/privatepackage
npm install node-tap --save-dev
npm install dtrace-provider --save-optional
npm install readable-stream --save --save-exact
Not: <name>
Geçerli çalışma dizininde adlandırılmış bir dosya veya klasör varsa , bunu yüklemeye ve yalnızca geçerli değilse adıyla paketi almaya çalışacaktır.
(resmi belgelerden) https://docs.npmjs.com/cli/install
--save
seçeneği hala iş görünüyor, artık gereklidir - paketler şimdi bağımlılıkları kaydedilir varsayılan olarak . Mantık şimdi ters çevrilmiş olup - eğer yok paketinizi kaydetmek istediğiniz, belirtmeniz gereken--no-save
--save
Bayrak artık bir amaca hizmet eder.
Daha önce, diğer yanıtların da belirtildiği gibi, --save
bayrak proje package.json
dosyasındaki bağımlılıkları güncelliyordu , ancak npm install
artık bu işlevi varsayılan olarak içeriyor.
Bu noktada npm install
, bağımlılıkların kaydedilmesini engellemek istiyorsanız , --no-save
bayrağı kullanmanız gerekir .
Onların bu söz için Coruscate5 sayesinde comment .
Npm-install belgelerinde daha fazla bilgi :
npm install, belirtilen paketleri varsayılan olarak bağımlılıklara kaydeder. Ek olarak, bazı ek işaretlerle nereye ve nasıl kaydedileceğini kontrol edebilirsiniz:
-P, --save-prod: Bağımlılıklarınızda paket görünecektir. -D veya -O yoksa bu varsayılandır.
-D, --save-dev: Paket devDependency'lerinizde görünecektir.
-O, --save-Optional: Paket, isteğe bağlı Bağımlılıklarınızda görünecektir.
--no-save: Bağımlılıklara kaydetmeyi engeller.
Bağımlılıkları package.json dosyanıza kaydetmek için yukarıdaki seçeneklerden herhangi birini kullanırken, iki ek, isteğe bağlı bayrak vardır:
-E, --save-exact: Kaydedilen bağımlılıklar, npm'nin varsayılan semver aralığı operatörünü kullanmak yerine tam bir sürümle yapılandırılacaktır.
-B, --save-bundle: Kaydedilen bağımlılıklar da bundleDependencies listenize eklenecektir.