2015-10-31 12 views
5

Gần đây tôi đã cài đặt một nút mới 5.x với npm 3.x - thay đổi đáng chú ý nhất là cấu trúc phẳng trong node_modules - đó là điều tuyệt vời trên môi trường Windows.npm 3.x và đường dẫn cục bộ trong gói package.json

Thật không may tôi đã nhận thấy rằng npm mới đặt đường dẫn cục bộ trong package.json cho tất cả các mô-đun đã cài đặt. Làm thế nào tôi có thể ngăn chặn điều này (hoặc đặt con đường tương đối)? Tôi muốn cam kết của tôi node_modules để hg kho, vì vậy tất cả mọi người trong nhóm phát triển sẽ có cùng một mô-đun. Đây là một mẫu lột package.json từ viết tắt gói:

{ 
    "_args": [ 
    [ 
     "[email protected]://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz", 
     "C:\\Users\\ABC\\Documents\\ABC" 
    ] 
    ], 
    "_where": "C:\\Users\\ABC\\Documents\\ABC" 
} 

"C: \ Users \ ABC \ Documents \ ABC" là con đường địa phương

Best Regards,

+0

Âm thanh giống như những gì 'npm shrinkwrap' là dành cho. https://docs.npmjs.com/cli/shrinkwrap – eush77

+0

Thật không may các gói shrinkwrapped cũng có đường dẫn cục bộ được viết bởi người quản lý npm. – Sassa

+0

Tôi có nghĩa là bạn có thể chạy 'npm shrinkwrap' và cam kết tệp kết quả' npm-shrinkwrap.json' vào dự án của bạn - không có đường dẫn tương đối nào trong tệp này, chỉ tên gói và phiên bản. Mọi người khác kiểm tra dự án này chỉ cần cài đặt từ tập tin này và được chính xác các phiên bản tương tự. Đã giải quyết được sự cố. Không cần phải cam kết toàn bộ 'node_modules' và xử lý với megabyte các bản ghi khác. – eush77

Trả lời

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