與NPM

2017-03-17 26 views
0

這裏安裝一個軟件包的定製版本,是我的package.json:與NPM

{ 
    "private": true, 
    "devDependencies": { 
    "axios": "^0.15.2", 
    "jquery": "^3.1.0", 
    "laravel-mix": "^0.8", 
    "lodash": "^4.16.2", 
    "phantomjs-prebuilt": "^2.1.7", 
    "vue": "^2.0.1", 
    "vue-resource": "^0.9.3" 
    }, 
    "dependencies": { 
    "vue-clipboard": "0.0.1", 
    "vue-dragula": "^2.0.0-alpha" 
    } 
} 

我有一個插件,不符合vuejs 2.2.4兼容,所以我真的需要堅持使用2.0.1 ,但是當我做一個npm install它安裝2.2.4。

爲什麼不尊重版本?

+0

要麼使用--exact標誌,要麼你可以設置相同的'save-exact = true'到〜/ .npmrc文件爲true :) – georoot

+0

不起作用。我刪除了'znode_modules'文件夾,並運行了'npm install --exact',並且在結果中仍然得到了├──[email protected] –

+0

- 確切的是當你正在安裝。你會看到表示安裝最新版本的'^'符號。刪除並放入你想要的版本。然後運行npm install。你需要把'--exact'放在'package.json'中,如果這個軟件包不在那裏,並且你第一次安裝的話:) – georoot

回答

1

問題是package.json文件中的符號^。這將自動安裝最新版本的軟件包。現在,正確的方法來解決這個問題是~/.npmrc加入

save-exact=true 

,它會自動刪除安裝過程中^跡象。這將防止未來版本更改安裝相同的軟件包。