2017-09-04 37 views
0

我將我的流星項目升級到版本1.5.1。當我用meteor run命令啓動它時,它運行良好。但是一旦我構建它,它就會失去babel運行時。它似乎忽略了我的package.json文件在項目文件夾中。因而在運行時meteor npm install後因建項目package.json在流星建造期間被忽略

內容我的package.json束/程序/服務器/文件夾內運行後的package.json的

{ 
    "dependencies": { 
    "babel-runtime": "^6.26.0", 
    "bcrypt": "^1.0.3" 
    } 
} 

內容沒有被安裝通天塔的運行時meteor build

{ 
    "name": "meteor-dev-bundle", 
    "version": "0.0.0", 
    "dependencies": { 
    "meteor-promise": "0.8.4", 
    "fibers": "1.0.15", 
    "promise": "7.1.1", 
    "underscore": "1.5.2", 
    "source-map-support": "https://github.com/meteor/node-source-map-support/tarball/1912478769d76e5df4c365e147f25896aee6375e", 
    "semver": "4.1.0", 
    "node-gyp": "3.6.0", 
    "node-pre-gyp": "0.6.34" 
    }, 
    "devDependencies": { 
    "eachline": "https://github.com/meteor/node-eachline/tarball/ff89722ff94e6b6a08652bf5f44c8fffea8a21da", 
    "chalk": "0.5.1" 
    }, 
    "scripts": { 
    "install": "node npm-rebuild.js" 
    } 
} 

我在這裏錯過了什麼嗎?當然,我跑了meteor npm install --save babel-runtime很多次......

+0

看看這個評論:https://github.com/meteor/meteor/issues/6521#issuecomment-198165040 – Styx

+0

有趣。將node_modules簽入源代碼管理是否常見? – Chris

+0

不,當然不是。但是,您可以將npm shrinkwrap文件添加到回購庫中。 – Styx

回答

1

好了,解決辦法是安裝npm模塊建築產品包(假設你已經有babel-runtimepackage.json):

cd <path_to_project> 
meteor npm install 
meteor build ... 

內置束的package.json將不會有babel-runtime,但它將包含在從node_modules文件夾的包中。

補充:

不要忘了,你還要做npm install在已部署的包,像往常一樣。

+0

工作像一個魅力,但也是相當「過度工程」:D – Chris