Tôi đang xây dựng một ứng dụng bao gồm private npm repos được xây dựng trong CoffeeScript. Để tiếp tục triển khai ngôn ngữ thuyết bất khả tri và cho phép mỗi ứng dụng chỉ định phiên bản CoffeeScript của nó, tôi bao gồm CoffeeScript là phụ thuộc trong mỗi thư viện và xây dựng thành JavaScript khi cài đặt npm.Soạn thảo coffeescript trên npm install
cài đặt npm hoạt động tốt cho bản repo độc lập, nhưng không thành công khi tôi cố gắng cài đặt một repo phụ thuộc vào một repo khác đang được xây dựng.
Vì vậy, nếu tôi có repo-a
, mà package.json
bao gồm này:
"dependencies": {
"coffee-script": "~1.2.0"
},
"scripts": {
"install": "./node_modules/coffee-script/bin/cake install"
}
và repo-b
, mà package.json
bao gồm này:
"dependencies": {
"coffee-script": "~1.2.0",
"repo-a": "git+ssh://[email protected]:myrepo.git"
},
"scripts": {
"install": "./node_modules/coffee-script/bin/cake install"
}
nơi cả hai đều có một Cakefile
trông như thế này, với một install
công việc được gọi trên một npm install
móc:
{print} = require "util"
{spawn} = require "child_process"
coffee = "./node_modules/coffee-script/bin/coffee"
echo = (child) ->
child.stdout.on "data", (data) -> print data.toString()
child.stderr.on "data", (data) -> print data.toString()
child
install = (cb) ->
console.log "Building..."
echo child = spawn coffee, ["-c", "-o", "lib", "src"]
child.on "exit", (status) -> cb?() if status is 0
task "install", "Install, build, and test repo", install
npm install
công trình cho cho repo-a
, nhưng không cho repo-b
với tin nhắn này:
sh: ./node_modules/coffee-script/bin/cake: No such file or directory
tại thời điểm đó một ___coffee-script.npm
thư mục dở dang tồn tại trong node_modules
.
Tất nhiên sẽ dễ dàng hơn khi sử dụng app.js wrapper, nhưng tôi cần triển khai JavaScript, không phải CoffeeScript. Bất cứ ai có thể cho tôi biết làm thế nào tôi có thể nhận được điều này để làm việc?
cho những gì nó có giá trị, phương pháp này hoạt động khi tôi dựa vào một số nhị phân 'bánh' toàn cầu, và chỉ thất bại vì tôi chỉ định 'bánh' được cài đặt cục bộ. –