Node.js ferramenta de construção nativa addon
node-gyp
é uma ferramenta de linha de comando multi-plataforma escrita em Node.js para compilar módulos addon para Node.js, o que tira a dor de lidar com as enormes diferenças nas plataformas de construção. É a substituição para o programa node-waf
que é removido para o nó v0.8
. Se você tem um addon nativo para o nó que ainda tem um arquivo wscript
, então você deve definitivamente adicionar um arquivo binding.gyp
para suportar as últimas versões do nó.
>
Vários versões alvo do nó são suportadas (ou seja, 0.8
, 0.9
, 0.10
, …, 1.0
,etc.), independentemente de qual versão do nó está realmente instalada no seu sistema(node-gyp
baixa os arquivos de desenvolvimento necessários para a versão alvo).
Faatures:
- Fácil de usar, interface consistente
- Os mesmos comandos para construir seu módulo em cada plataforma
- Suporta múltiplas versões alvo do Nó
Instalação
Você pode instalar com npm
:
$ npm install -g node-gyp
Tambem terá de instalar:
- Em Unix:
-
python
(v2.7
recomendado,v3.x.x
não é suportado) make
- Uma cadeia de ferramentas de compilação C/C+++ adequada, como o GCC
-
- Em Windows:
- Python (
v2.7.3
recomendado,v3.x.x
não é suportado) - Windows XP/Vista/7:
- Microsoft Visual Studio C++ 2010 (A versão Express funciona bem)
- Para compilações de 64 bits de nós e módulos nativos você também precisará do Windows 7 64-bit SDK
- Se a instalação falhar, tente desinstalar qualquer C++ 2010 x64&x86 Redistribuível que você tenha instalado primeiro.
- Se você receber erros de que os compiladores de 64 bits não estão instalados, você também pode precisar da atualização do compilador para o SDK 7 do Windows.1
- Windows 7/8:
- Microsoft Visual Studio C++ 2012 para Windows Desktop (a versão Express funciona bem)
- Python (
Nota que o OS X é apenas um sabor de Unix e por isso precisa de python
, make
, e C/C+++.Uma maneira fácil de obtê-los é instalar o XCode da Apple, e depois usá-lo para instalar as ferramentas de linha de comando (em Preferências -> Downloads).
Como usar
Para compilar seu addon nativo, primeiro vá para seu diretório raiz:
$ cd my_node_addon
O próximo passo é gerar os arquivos de compilação de projeto apropriados para a plataforma atual. Use configure
para isso:
$ node-gyp configure
Nota: O passo configure
procura o ficheiro binding.gyp
na directoria actual para processar. Veja abaixo as instruções para criar o ficheiro binding.gyp
> ficheiro.
Agora terá ou um Makefile
(em plataformas Unix) ou um vcxproj
ficheiro(em Windows) no directório build/
. A seguir invoque o comando build
comando:
$ node-gyp build
Agora terá o seu ficheiro compilado .node
bindings! Os bindings compilados acabam em build/Debug/
ou build/Release/
, dependendo do modo de compilação. Neste ponto você pode requerer o arquivo .node
com Nó e executar seus testes!
Nota: Para criar uma compilação Debug do arquivo bindings, passe a chave --debug
(ou -d
) ao executar o arquivo configure
ou build
comando.
O arquivo “binding.gyp”
Anteriormente quando o nó tinha node-waf
você tinha que escrever um arquivo wscript
. Para isso, existe o ficheiro binding.gyp
, que descreve a configuração para construir o seu módulo num formato semelhante ao JSON. Este ficheiro é colocado na raiz do seu pacote, juntamente com o ficheiro package.json
.
>
Um barebone gyp
ficheiro apropriado para construir um nó addon parecido com:
{ "targets": } ]}
alguns recursos adicionais para escrever gyp
ficheiros:
- “Olá Mundo” exemplo de adição de nós
- documentação do utilizador do gip
- referência do formato de entrada do gip
- “binding”.arquivos gyp” na página wiki selvagem
Comandos
node-gyp
responde aos seguintes comandos:
Comando | Descrição |
---|---|
build |
Inscriçõesmake /msbuild.exe e constrói o addon nativo |
clean |
Remova qualquer um dos build dir se existir |
configure
|
Gera ficheiros de construção de projectos para a plataforma actual |
rebuild |
Executar “limpo”, “configurar” e “construir” tudo em uma linha |
install |
Instala arquivos de cabeçalho de desenvolvimento de nós para a versão dada |
list |
Lista as versões dos arquivos de desenvolvimento de nós atualmente instalados |
remove |
Remova os arquivos de cabeçalho de desenvolvimento do nó para a versão dada |
Licença
(A Licença MIT)
Copyright (c) 2012 Nathan Rajlich <[email protected]>
Permissao é concedida, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o “Software”), para negociar no Software sem restrições, incluindo sem limitação os direitos de usar, copiar, modificar, fundir, publicar, distribuir, sublicenciar e/ou vender cópias do Software, e as pessoas de topermiters a quem o Software é fornecido para fazê-lo, sujeito às seguintes condições
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou partes substanciais do Software.
O SOFTWARE É FORNECIDO “TAL COMO ESTÁ”, SEM QUALQUER TIPO DE GARANTIA, EXPRESSA OU IMPLÍCITA, INCLUINDO MAS NÃO SE LIMITANDO ÀS GARANTIAS DEMERCHANTABILITY, ADEQUAÇÃO A UM DETERMINADO PROPÓSITO E NÃO-INFRAÇÃO.EM NENHUM CASO OS AUTORES OU DETENTORES DOS DIREITOS AUTORAIS SERÃO RESPONSÁVEIS POR QUALQUER RECLAMAÇÃO, DANO OU OUTRA RESPONSABILIDADE, SEJA EM UMA AÇÃO DE CONTRATO, ATO ILÍCITO OU DE OUTRA FORMA, DECORRENTE DE, FORA DE OU EM CONEXÃO COM O SOFTWARE OU O USO OU OUTRAS TRANSAÇÕES NO SOFTWARE.