2017-08-18 12 views
12

Dường như yarn không chuyển cờ nút-gyp đến các gói gốc theo cách npm.Sợi có thêm gói --build-from-source hoạt động giống như gói cài đặt npm --build-from-source khi truyền cờ nút-gyp tới các gói không?

Ví dụ khi cố gắng cài đặt [email protected] với:

npm install [email protected] \ 
    --build-from-source \ 
    --sqlite_libname=sqlcipher \ 
    --sqlite=`brew --prefix` \ 
    --verbose 

chúng ta có được một cài đặt thành công sqlite3 với phần mở rộng sqlcipher, do đi --sqlite_libname--sqlite, đó là specified trong sqlite3 của binding.gyp.

Tuy nhiên, khi cố gắng sử dụng yarn, và chạy những gì tôi nghĩ là lệnh tương đương, nó trông giống như những lá cờ không được vinh danh:

yarn add [email protected] \ 
    --force \ 
    --build-from-source \ 
    --sqlite_libname=sqlcipher \ 
    --sqlite=`brew --prefix` \ 
    --verbose 

Với npm không được công nhận đối số dòng lệnh được chuyển đổi thành cờ gyp.

Với yarn có vẻ như không hoạt động.

Có cách nào để có được chức năng này với yarn không?

Trả lời

2

Sợi không tự động phơi bày -- đối số của lệnh cài đặt vào các tập lệnh vòng đời (trước/sau/cài đặt tập lệnh trong package.json của phụ thuộc). Đây là mã nơi Sợi xây dựng Env để thực thi tập lệnh https://github.com/yarnpkg/yarn/blob/master/src/util/execute-lifecycle-script.js#L39.

Bạn có thể chuyển giá trị cụ thể qua cài đặt env trong .yarnrc và cũng có thể tạo cài đặt npm_config_* dựa trên cấu hình .yarnrc/.npmrc.

+0

Bạn có thể đưa ra ví dụ không? Các tập tin .yarnrc dường như không được tài liệu rất tốt trên trang web của sợi. – FrankerZ

+0

.yarnrc sử dụng cùng một trình phân tích cú pháp cho các tệp sợi.lock, rất giống với tệp yaml. Bạn có thể thêm một phần env để .yarnrc env: ENV_PARAM "giá trị" ENV_PARAM_2 "value2" này cung cấp cho một thử và nếu nó hoạt động xin vui lòng đóng góp vào các tài liệu, hầu hết nó được thực hiện bởi cộng đồng và rất được đánh giá cao https://yarnpkg.com/en/docs/yarnrc – bestander

+0

Nhưng đây không phải là biến môi trường theo như tôi biết. Chúng là các tham số dòng lệnh được truyền cho các kịch bản cài đặt. – FrankerZ

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