2016-04-11 176 views
2

我有點困惑。在我的筆記本電腦上,當我建立了我的項目時,我的package.json在我安裝它們時被填充了依賴關係。NPM安裝來自package.json的依賴關係

它看起來像這樣:

"main": "webpack.config.js", 
    "dependencies": { 
    "immutable": "^3.7.6", 
    "react": "^0.14.8", 
    "react-dom": "^0.14.8", 
    "react-redux": "^4.4.2", 
    "redux": "^3.4.0" 
    }, 
    "devDependencies": { 
    "babel-core": "^6.7.6", 
    "babel-loader": "^6.2.4", 
    "babel-polyfill": "^6.7.4", 
    "babel-preset-es2015": "^6.6.0", 
    "babel-preset-react": "^6.5.0", 
    "babel-preset-react-hmre": "^1.1.1", 
    "css-loader": "^0.23.1", 
    "eslint": "^2.7.0", 
    "eslint-loader": "^1.3.0", 
    "eslint-plugin-react": "^4.3.0", 
    "postcss-loader": "^0.8.2", 
    "style-loader": "^0.13.0", 
    "stylelint": "^4.5.1", 
    "webpack": "^1.12.15", 
    "webpack-dev-server": "^1.14.1", 
    "webpack-merge": "^0.7.3" 
    }, 

現在,我的新系統上,拉着回購&的印象是,所有我打電話是npm install & NPM會讀的package.json &下載所有依賴關係及其指定的版本。那沒有發生。

所以,我的問題是,我們如何正確地將所有這些依賴關係安裝到新系統上。

難道是運行npm i --save [all the dependencies]

& npm i --save-dev [all the dev dependencies]

此外,如何將版本號來,如果我做了以上解決的問題?我的意思是,package.json具有指定的版本,而運行上述兩個命令將下載每個軟件包的最新版本。

非常感謝,

回答

3

如果你想安裝最新的模塊版本滿足該版本要求,應使用命令:

npm i 

在這種情況下,immutable模塊,例如,將安裝最新的3.x版。

但是,如果你想安裝相同版本作爲你的第一個開發PC,你也需要做到以下幾點:

npm shrinkwrap # run this command on first pc 
npm i   # run this command on a new pc 
1

所有你所撥打的NPM安裝,它會下載最新的主要版本(^插入符號範圍語法)的依賴性上市devDependencies

https://docs.npmjs.com/cli/install

安裝一個特定的版本,刪除插入例如

"react": "0.14.8", 

您可以使用「故宮拆封」來鎖定一個包的相關性的版本 - 創建一個包含整個層次結構中

https://docs.npmjs.com/cli/shrinkwrap

確切的包版本的文件NPM-shrinkwrap.json

的package.json交互式指南http://browsenpm.org/package.json

相關問題