2016-11-14 31 views
25

Webpack được ném lỗi này tất cả của một đột ngột:webpack.validateSchema không phải là một chức năng

TypeError: webpack.validateSchema is not a function

Tất cả mọi thứ đã làm việc tốt thứ Sáu, không làm việc ngày hôm nay. Không có cam kết mới để làm chủ kể từ thứ Sáu.

Pruned NPM, không hoạt động, đã xóa thư mục NPM và cài đặt lại, không có súc sắc. Đã kiểm tra các chi nhánh trước đó chưa được Master từ chối trong hơn một tuần. Vẫn giống nhau.

Có ai có ý tưởng không?

+0

Yikes! Tôi vừa gặp lỗi tương tự. Điều này xảy ra với tôi sau khi tôi chạy 'npm update' trên dự án của tôi! – Moose

Trả lời

5

Tôi cũng gặp lỗi tương tự. Tôi đã khóa phiên bản webpack-dev-server của mình trong tệp package.json của mình và ngăn chặn lỗi xảy ra. Điều đó không khắc phục được vấn đề gốc của lỗi mặc dù.

Đây là phiên bản của webpack-dev-server mà tôi đang sử dụng nhưng tôi chắc chắn các phiên bản sau cũng hoạt động: "webpack-dev-server": "2.1.0-beta.9",

+1

tệp 'package.json' của tôi có' "webpack": "2.1.0-beta.25" 'và tôi đã thử chạy' npm install' và 'npm update'. Sau đó tôi nhận được: 'npm WARN [email protected] yêu cầu một nhóm [email protected]^2.1.0-beta.26 nhưng không có cài đặt nào.' – Moose

+0

Đây là các phiên bản tôi ' m sử dụng và tôi không nhận được cảnh báo đó: "webpack": "2.1.0-beta.25", "webpack-dev-middleware": "^ 1.6.1", "webpack-dev-server" : "2.1.0-beta.9", "webpack-md5-hash": "^ 0.0.5", "webpack-merge": "^ 0.15.0" Nó vẫn không hoạt động ngay cả với cảnh báo đó? Thông thường cảnh báo đó không làm cho công trình của tôi bị vỡ. –

+0

bản dựng của tôi đã bị hỏng. Tôi đã đăng một giải pháp thay thế trong phần câu trả lời bên dưới. – Moose

6

Tôi đã gặp sự cố này ngay hôm nay hầu như cùng lúc với bạn, hóa ra webpack đã được cập nhật lại.

Dưới đây là những gì tôi đã làm để sửa chữa nó:

Trước tiên tôi chạy npm installnpm update để xem những gì kết quả là. Tôi chạy cả hai lệnh này vì npm có cách báo cáo lạ thường, đôi khi sai và khi bạn chạy lại npm update hoặc npm install, bạn sẽ nhận ra rằng các phụ thuộc không được đáp ứng không còn là vấn đề nữa.

Sau khi tôi chạy các lệnh này tôi nhận thấy rằng thông điệp còn lại chỉ là một cảnh báo:

npm WARN [email protected] requires a peer of [email protected]^2.1.0-beta.26 but none was installed.

Để thoát khỏi điều này tôi đã thay đổi package.json tập tin của tôi để đọc "webpack": "2.1.0-beta.26" thay vì "webpack": "2.1.0-beta.25" và chạy npm install khác.

Sau này, tôi gặp lỗi khác khi tôi thử chạy npm start cho biết có sự cố với tệp cấu hình webpack của tôi. Trong trường hợp của tôi, tôi đã đi đến tập tin cấu hình webpack cho môi trường phát triển của tôi (vì tôi không phải trên sản xuất nào được nêu ra) và tôi tìm thấy thủ phạm mà là một tham số không hợp lệ được gọi là 'outputPath'.

Tôi đã nhận xét rằng dòng và bây giờ tôi nhận được tất cả mọi thứ làm việc tốt.

Hy vọng điều này sẽ giúp, có thể chỉ là một hack cho bây giờ nhưng hy vọng nó là một bước đi đúng hướng.

UPDATE:

Ok, vì vậy tôi có một chút sai lầm về tất cả mọi thứ 'làm việc tốt'. Nó chỉ ra rằng một số bộ nạp của tôi đã không hoạt động chính xác; Bootstrap và một số thứ khác không được nạp đúng cách, phá vỡ phong cách của tôi.Vì vậy, để có được nó trở lại nơi tôi đã được trước đó, tôi đã xóa thư mục node_modules của tôi và chạy npm install bằng cách sử dụng sau đây trong package.json:

"webpack": "2.1.0-beta.25", 
"webpack-dashboard": "^0.1.8", 
"webpack-dev-middleware": "^1.6.1", 
"webpack-dev-server": "2.1.0-beta.9", 
"webpack-md5-hash": "^0.0.5", 
"webpack-merge": "^0.15.0", 

thảo luận Hy vọng như thế này sẽ giúp chúng tôi tìm ra cách để di chuyển về phía trước đúng với phiên bản mới của webpack đang được phát hành.

4

Được rồi, cập nhật tại đây.

Đã thử những gì một vài người trong số các bạn gợi ý, điều không may đã khiến tôi hiểu sâu hơn về một lỗ hổng thỏ với các trình tải mô-đun bị hỏng.

Cuối cùng, tôi đã cập nhật thành "webpack": "^2.1.0-beta.26""webpack-dev-server": "^2.1.0-beta.11". Sau đó, phát hiện ra có những thay đổi phá vỡ, gây ra các loaders để phá vỡ - https://github.com/webpack/webpack/releases.

trong ngắn hạn, trong cấu hình webpack của bạn, thay đổi loaders: [ ... ], để rules : [ ... ], và trên tất cả các tờ khai loader, thêm "-loader" vào chuỗi giá trị như thế này, { test: /node_modules\/i18n-iso-countries\/(de|es|nl|sv)\.js$/, loader: 'null-loader' }, { test: /\.coffee$/, loader: 'coffee-loader' }, { test: /\.ts$/, loader: ['awesome-typescript-loader']}, vv

lại làm điều đó cho tôi. Hy vọng điều này sẽ giúp bất cứ ai khác chạy vào vấn đề này.

+1

Xin chào, bạn có thể cho tôi biết cấu hình webpack được gọi là gì không? Tôi dường như không thể tìm thấy nơi bộ nạp được đặt trong dự án của tôi. – Vanquiza

26

Trông giống như lỗi npm, vì [email protected] yêu cầu [email protected]^2.1.0-beta.26 nhưng không thể cài đặt npm.

Cách dễ nhất để tránh vấn đề này mà không cần cập nhật quá nhiều là thay đổi phụ thuộc vào package.json để

"webpack-dev-server": "2.1.0-beta.10", 

Thay vì một cái gì đó giống như

"webpack-dev-server": "^2.1.0-beta.9", 

"^" char trước khi phiên bản nói " tương thích với". Loại bỏ nó dính vào phiên bản chính xác.

Đừng quên chạy npm install hoặc npm update sau đó.

+1

Tại sao điều này lại được giảm giá? –

5

nó làm việc cho tôi khi tôi xóa^và sử dụng phiên bản chính xác.

Từ

"webpack": "2.1.0-beta.25", 
"webpack-dev-middleware": "^1.6.1", 
"webpack-dev-server": "^2.1.0-beta.9", 
"webpack-md5-hash": "^0.0.5", 
"webpack-merge": "^0.14.1" 

để

"webpack": "2.1.0-beta.25", 
"webpack-dev-middleware": "1.6.1", 
"webpack-dev-server": "2.1.0-beta.9", 
"webpack-md5-hash": "0.0.5", 
"webpack-merge": "0.14.1" 
+0

không có may mắn ở đây. Sử dụng phiên bản chính xác và bây giờ lỗi chỉ nói lỗi tại webpack.js: 17: 9 là lỗi xác thực giống nhau – vgarzom

1

Như đã giải thích trong this GitHub issue, bạn cần cập nhật webpack để webpack 2.1.0-beta.26 hay muộn . Vì bản phát hành v2.1 cuối cùng là beta.28, bạn nên yêu cầu [email protected]^2.1.0-beta.28.

Lưu ý rằng một trong những thay đổi đột phá được giới thiệu trong phiên bản beta.26 là bạn cần chỉ định tên đầy đủ của trình tải, ví dụ: thay thế loader: 'babel' bằng loader: 'babel-loader'.

0

Có cùng một vấn đề khi chúng tôi nâng cấp góc/cli lên 1.6.3 và khi chúng tôi kiểm tra ng -v chúng tôi gặp lỗi đối với webpack. Vì vậy, chúng tôi xảy ra để gỡ bỏ cài đặt webpack, làm một bộ nhớ cache sạch sẽ và sau đó cài đặt webpack một lần nữa trên toàn cầu. Nó giải quyết các vấn đề

2

Nó làm việc cho tôi khi tôi đã làm:

Gỡ bỏ gói sau:

NPM gỡ bỏ cài đặt webpack webpack-dev-server --save -dev

Cài đặt các gói sau:

npm install --save -dev [email protected]

NPM cài đặt --save -dev [email protected]

NPM cài đặt --save -dev [email protected]

Các vấn đề liên quan