Upgrade nodejs to the latest version from the repo
This is possible in newer versions of the nodejs cookbook, by setting the `node["nodejs"]["package_action"]["nodejs"]` attribute to `:upgrade`
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# [nodejs-cookbook](https://github.com/redguide/nodejs)
|
||||
|
||||
[](https://supermarket.chef.io/cookbooks/nodejs) [](https://travis-ci.org/redguide/nodejs) [](https://gitter.im/redguide/nodejs)
|
||||
[](https://supermarket.chef.io/cookbooks/nodejs) [](https://travis-ci.org/redguide/nodejs)
|
||||
|
||||
Installs node.js/npm and includes a resource for managing npm packages
|
||||
|
||||
@@ -11,23 +11,23 @@ Installs node.js/npm and includes a resource for managing npm packages
|
||||
- Debian/Ubuntu
|
||||
- RHEL/CentOS/Scientific/Amazon/Oracle
|
||||
- openSUSE
|
||||
- Windows
|
||||
|
||||
Note: Source installs require GCC 4.8+, which is not included on older distro releases
|
||||
|
||||
### Chef
|
||||
|
||||
- Chef 12.14+
|
||||
- Chef Infra Client 14+
|
||||
|
||||
### Cookbooks
|
||||
|
||||
- build-essential
|
||||
- ark
|
||||
|
||||
## Usage
|
||||
|
||||
Include the nodejs recipe to install node on your system based on the default installation method:
|
||||
|
||||
```chef
|
||||
```ruby
|
||||
include_recipe "nodejs"
|
||||
```
|
||||
|
||||
@@ -37,7 +37,7 @@ include_recipe "nodejs"
|
||||
|
||||
Install node from packages:
|
||||
|
||||
```chef
|
||||
```ruby
|
||||
node['nodejs']['install_method'] = 'package' # Not necessary because it's the default
|
||||
include_recipe "nodejs"
|
||||
# Or
|
||||
@@ -50,7 +50,7 @@ By default this will setup deb/rpm repositories from nodesource.com, which inclu
|
||||
|
||||
Install node from official prebuilt binaries:
|
||||
|
||||
```chef
|
||||
```ruby
|
||||
node['nodejs']['install_method'] = 'binary'
|
||||
include_recipe "nodejs"
|
||||
|
||||
@@ -72,18 +72,29 @@ node.default['nodejs']['binary']['checksum'] = '0bd86f2a39221b532172c7d1acb57f0b
|
||||
|
||||
Install node from sources:
|
||||
|
||||
```chef
|
||||
```ruby
|
||||
node['nodejs']['install_method'] = 'source'
|
||||
include_recipe "nodejs"
|
||||
# Or
|
||||
include_recipe "nodejs::nodejs_from_source"
|
||||
```
|
||||
|
||||
#### Chocolatey
|
||||
|
||||
Install node from chocolatey:
|
||||
|
||||
```chef
|
||||
node['nodejs']['install_method'] = 'chocolatey'
|
||||
include_recipe "nodejs"
|
||||
# Or
|
||||
include_recipe "nodejs::nodejs_from_chocolatey"
|
||||
```
|
||||
|
||||
## NPM
|
||||
|
||||
Npm is included in nodejs installs by default. By default, we are using it and call it `embedded`. Adding recipe `nodejs::npm` assure you to have npm installed and let you choose install method with `node['nodejs']['npm']['install_method']`
|
||||
|
||||
```chef
|
||||
```ruby
|
||||
include_recipe "nodejs::npm"
|
||||
```
|
||||
|
||||
@@ -95,7 +106,7 @@ _Warning:_ This recipe will include the `nodejs` recipe, which by default includ
|
||||
|
||||
note: This resource was previously named nodejs_npm. Calls to that resource name will still function, but cookbooks should be updated for the new npm_package resource name.
|
||||
|
||||
`npm_package` let you install npm packages from various sources:
|
||||
`npm_package` lets you install npm packages from various sources:
|
||||
|
||||
- npm registry:
|
||||
|
||||
@@ -115,11 +126,17 @@ Packages can be installed globally (by default) or in a directory (by using `att
|
||||
|
||||
You can specify an `NPM_TOKEN` environment variable for accessing [NPM private modules](https://docs.npmjs.com/private-modules/intro) by using `attribute :npm_token`
|
||||
|
||||
You can specify a `NODE_ENV` environment variable, in the case that some element of your installation depends on this by using `attribute :node_env`. E.g., using [`node-config`](https://www.npmjs.com/package/config) as part of your postinstall script. Please note that adding the `--production` option will override this to `NODE_ENV=production`.
|
||||
|
||||
You can append more specific options to npm command with `attribute :options` array :
|
||||
|
||||
You can specify auto_update as false to stop the npm install command from running and updating an installed package. Running the command will update packages within restrictions imposed by a package.json file. The default behavior is to update automatically.
|
||||
|
||||
- use an array of options (w/ dash), they will be added to npm call.
|
||||
- ex: `['--production','--force']` or `['--force-latest']`
|
||||
|
||||
You can specify live_stream true for the resource to have the package install information included in the chef-client log outout for better npm package diagnostics and trouble shooting.
|
||||
|
||||
This LWRP attempts to use vanilla npm as much as possible (no custom wrapper).
|
||||
|
||||
### Packages
|
||||
@@ -139,6 +156,7 @@ npm_package 'grunt' do
|
||||
path '/home/random/grunt'
|
||||
json true
|
||||
user 'random'
|
||||
node_env 'staging'
|
||||
end
|
||||
|
||||
npm_package 'my_private_module' do
|
||||
@@ -180,9 +198,12 @@ Or add packages via attributes (which accept the same attributes as the LWRP abo
|
||||
|
||||
## License & Authors
|
||||
|
||||
**Author:** Marius Ducea (marius@promethost.com) **Author:** Nathan L Smith (nlloyds@gmail.com) **Author:** Guilhem Lettron (guilhem@lettron.fr) **Author:** Barthelemy Vessemont (bvessemont@gmail.com)
|
||||
**Author:** Marius Ducea (marius@promethost.com)
|
||||
**Author:** Nathan L Smith (nlloyds@gmail.com)
|
||||
**Author:** Guilhem Lettron (guilhem@lettron.fr)
|
||||
**Author:** Barthelemy Vessemont (bvessemont@gmail.com)
|
||||
|
||||
**Copyright:** 2008-2017, Chef Software, Inc.
|
||||
**Copyright:** Chef Software, Inc.
|
||||
|
||||
```
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
|
||||
Reference in New Issue
Block a user