我有一个ionic@2.0.0-beta.31
应用,可以在Windows/Android
环境中完美运行。一旦我尝试在OSX
环境中构建它,我就会收到错误。
我尝试将我的Ionic应用程序升级到Ionic的更高版本(即发布rc0
),但我发现它刚刚打开了一堆蠕虫。我正在使用Meteor
,Typings
等,在花了很多天尝试升级后,我们决定留在ionic@2.0.0-beta.31
。
问题
我的问题是如何让ionic@2.0.0-beta.31
在OSX上构建ios
平台?
安装OSX
我在OSX
上彻底安装了VMWare
。
安装节点:
我安装node-v6.9.2
npm -v
3.10.9
安装Ionic:
npm install -g ionic@2.0.0-beta.31
安装需要很长时间,并导致错误。 (我已经在OSX上测试了Internet速度,它的速度大约为10Mbps。当我在Windows上以相同的连接速度安装Ionic时,速度要快得多。)
错误
NPM-的debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node',
1 verbose cli '/usr/local/bin/npm',
1 verbose cli 'install',
1 verbose cli '-g',
1 verbose cli 'ionic@2.0.0-beta.31' ]
2 info using npm@3.10.9
3 info using node@v6.9.2
4 silly loadCurrentTree Starting
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 silly fetchPackageMetaData ionic@2.0.0-beta.31
8 silly fetchNamedPackageData ionic
9 silly mapToRegistry name ionic
10 silly mapToRegistry using default registry
11 silly mapToRegistry registry https://registry.npmjs.org/
12 silly mapToRegistry data Result {
12 silly mapToRegistry raw: 'ionic',
12 silly mapToRegistry scope: null,
12 silly mapToRegistry escapedName: 'ionic',
12 silly mapToRegistry name: 'ionic',
12 silly mapToRegistry rawSpec: '',
12 silly mapToRegistry spec: 'latest',
12 silly mapToRegistry type: 'tag' }
13 silly mapToRegistry uri https://registry.npmjs.org/ionic
14 verbose request uri https://registry.npmjs.org/ionic
15 verbose request no auth needed
16 info attempt registry request try #1 at 1:27:42 PM
17 verbose request id 2f94a6f01110858e
18 http request GET https://registry.npmjs.org/ionic
19 http 200 https://registry.npmjs.org/ionic
20 verbose headers { server: 'nginx/1.10.1',
20 verbose headers 'content-type': 'application/json',
20 verbose headers 'last-modified': 'Fri, 09 Dec 2016 21:44:55 GMT',
20 verbose headers etag: 'W/"584b25d7-c88a5"',
20 verbose headers 'content-encoding': 'gzip',
20 verbose headers 'cache-control': 'max-age=300',
20 verbose headers 'content-length': '45620',
20 verbose headers 'accept-ranges': 'bytes',
20 verbose headers date: 'Mon, 12 Dec 2016 11:27:48 GMT',
20 verbose headers via: '1.1 varnish',
20 verbose headers age: '262',
20 verbose headers connection: 'keep-alive',
20 verbose headers 'x-served-by': 'cache-lcy1132-LCY',
20 verbose headers 'x-cache': 'HIT',
20 verbose headers 'x-cache-hits': '2',
20 verbose headers 'x-timer': 'S1481542068.010995,VS0,VE0',
20 verbose headers vary: 'Accept-Encoding' }
21 silly get cb [ 200,
21 silly get { server: 'nginx/1.10.1',
21 silly get 'content-type': 'application/json',
21 silly get 'last-modified': 'Fri, 09 Dec 2016 21:44:55 GMT',
21 silly get etag: 'W/"584b25d7-c88a5"',
21 silly get 'content-encoding': 'gzip',
21 silly get 'cache-control': 'max-age=300',
21 silly get 'content-length': '45620',
21 silly get 'accept-ranges': 'bytes',
21 silly get date: 'Mon, 12 Dec 2016 11:27:48 GMT',
21 silly get via: '1.1 varnish',
21 silly get age: '262',
21 silly get connection: 'keep-alive',
21 silly get 'x-served-by': 'cache-lcy1132-LCY',
21 silly get 'x-cache': 'HIT',
21 silly get 'x-cache-hits': '2',
21 silly get 'x-timer': 'S1481542068.010995,VS0,VE0',
21 silly get vary: 'Accept-Encoding' } ]
22 verbose get saving ionic to /Users/thewhozoo/.npm/registry.npmjs.org/ionic/.cache.json
23 verbose correctMkdir /Users/thewhozoo/.npm correctMkdir not in flight; initializing
24 verbose makeDirectory /Users/thewhozoo/.npm creation not in flight; initializing
25 silly makeDirectory /Users/thewhozoo/.npm uid: 501 gid: 20
26 silly install normalizeTree
27 silly loadCurrentTree Finishing
28 silly loadIdealTree Starting
29 silly install loadIdealTree
30 silly cloneCurrentTree Starting
31 silly install cloneCurrentTreeToIdealTree
32 silly cloneCurrentTree Finishing
33 silly loadShrinkwrap Starting
34 silly install loadShrinkwrap
35 silly loadShrinkwrap Finishing
36 silly loadAllDepsIntoIdealTree Starting
37 silly install loadAllDepsIntoIdealTree
38 silly resolveWithNewModule ionic@2.0.0-beta.31 checking installable status
39 silly cache add args [ 'ionic@2.0.0-beta.31', null ]
40 verbose cache add spec ionic@2.0.0-beta.31
41 silly cache add parsed spec Result {
41 silly cache add raw: 'ionic@2.0.0-beta.31',
41 silly cache add scope: null,
41 silly cache add escapedName: 'ionic',
41 silly cache add name: 'ionic',
41 silly cache add rawSpec: '2.0.0-beta.31',
41 silly cache add spec: '2.0.0-beta.31',
41 silly cache add type: 'version' }
42 silly addNamed ionic@2.0.0-beta.31
43 verbose addNamed "2.0.0-beta.31" is a plain semver version for ionic
44 silly mapToRegistry name ionic
45 silly mapToRegistry using default registry
46 silly mapToRegistry registry https://registry.npmjs.org/
47 silly mapToRegistry data Result {
47 silly mapToRegistry raw: 'ionic',
47 silly mapToRegistry scope: null,
47 silly mapToRegistry escapedName: 'ionic',
47 silly mapToRegistry name: 'ionic',
47 silly mapToRegistry rawSpec: '',
47 silly mapToRegistry spec: 'latest',
47 silly mapToRegistry type: 'tag' }
48 silly mapToRegistry uri https://registry.npmjs.org/ionic
49 verbose addNameVersion registry:https://registry.npmjs.org/ionic not in flight; fetching
50 verbose get https://registry.npmjs.org/ionic not expired, no request
51 silly mapToRegistry name ionic
52 silly mapToRegistry using default registry
53 silly mapToRegistry registry https://registry.npmjs.org/
54 silly mapToRegistry data Result {
54 silly mapToRegistry raw: 'ionic',
54 silly mapToRegistry scope: null,
54 silly mapToRegistry escapedName: 'ionic',
54 silly mapToRegistry name: 'ionic',
54 silly mapToRegistry rawSpec: '',
54 silly mapToRegistry spec: 'latest',
54 silly mapToRegistry type: 'tag' }
55 silly mapToRegistry uri https://registry.npmjs.org/ionic
56 verbose addRemoteTarball https://registry.npmjs.org/ionic/-/ionic-2.0.0-beta.31.tgz not in flight; adding
57 verbose addRemoteTarball [ 'https://registry.npmjs.org/ionic/-/ionic-2.0.0-beta.31.tgz',
57 verbose addRemoteTarball 'f96af9a542a2855bab81f56a86c844c1dee07dce' ]
58 info retry fetch attempt 1 at 1:27:46 PM
59 info attempt registry request try #1 at 1:27:46 PM
60 http fetch GET https://registry.npmjs.org/ionic/-/ionic-2.0.0-beta.31.tgz
61 http fetch 200 https://registry.npmjs.org/ionic/-/ionic-2.0.0-beta.31.tgz
62 info retry will retry, error on last attempt: Error: read ECONNRESET
63 silly fetchAndShaCheck shasum f96af9a542a2855bab81f56a86c844c1dee07dce
64 silly rollbackFailedOptional Starting
65 silly rollbackFailedOptional Finishing
66 silly runTopLevelLifecycles Finishing
67 silly install printInstalled
68 verbose stack Error: shasum check failed for /var/folders/vj/3lfg9tn14kzcyzpx9lfyqpr00000gn/T/npm-496-eb36dba1/registry.npmjs.org/ionic/-/ionic-2.0.0-beta.31.tgz
68 verbose stack Expected: f96af9a542a2855bab81f56a86c844c1dee07dce
68 verbose stack Actual: 10ce401a11d1e7c6d7f8e37dbce85a8ea66b655e
68 verbose stack From: https://registry.npmjs.org/ionic/-/ionic-2.0.0-beta.31.tgz
68 verbose stack at /usr/local/lib/node_modules/npm/node_modules/sha/index.js:25:8
68 verbose stack at ReadStream.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/sha/index.js:72:7)
68 verbose stack at emitNone (events.js:91:20)
68 verbose stack at ReadStream.emit (events.js:185:7)
68 verbose stack at endReadableNT (_stream_readable.js:974:12)
68 verbose stack at _combinedTickCallback (internal/process/next_tick.js:74:11)
68 verbose stack at process._tickCallback (internal/process/next_tick.js:98:9)
69 verbose cwd /Users/thewhozoo/ionic-apps/theWhoZoo
70 error Darwin 15.0.0
71 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "ionic@2.0.0-beta.31"
72 error node v6.9.2
73 error npm v3.10.9
74 error shasum check failed for /var/folders/vj/3lfg9tn14kzcyzpx9lfyqpr00000gn/T/npm-496-eb36dba1/registry.npmjs.org/ionic/-/ionic-2.0.0-beta.31.tgz
74 error Expected: f96af9a542a2855bab81f56a86c844c1dee07dce
74 error Actual: 10ce401a11d1e7c6d7f8e37dbce85a8ea66b655e
74 error From: https://registry.npmjs.org/ionic/-/ionic-2.0.0-beta.31.tgz
75 error If you need help, you may report this error at:
75 error <https://github.com/npm/npm/issues>
76 verbose exit [ 1, true ]