世至其美

爬坑 | Centos7安装gitbook

Centos7安装gitbook

  1. 安装npm(Node Package Manager)
    从node.js的官网(https://nodejs.org/en/)上下载安装程序,即可完成Node.js和npm的安装。
  2. Centos安装gitbook
npm install -g gitbook-cli

出现错误

npm ERR! path /Users/aven/node-red/node_modules/onetime
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/Users/aven/node-red/node_modules/onetime'
npm ERR!  { Error: EACCES: permission denied, access '/Users/aven/node-red/node_modules/onetime'
npm ERR!   stack: 'Error: EACCES: permission denied, access \'/Users/aven/node-red/node_modules/onetime\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/Users/aven/node-red/node_modules/onetime' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

出错原因:权限不够, 加sudo

sudo npm install -g gitbook-cli

可能出现:(如果正常安装,请忽略后面)

sudo :找不到npm命令.

解决方法

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

sudo npm install -g gitbook-cli

 

出错原因

主要是 sudo以管理权限执行命令的时候,linux将PATH环境变量进行了重置(为系统安全的考虑),但却使得sudo搜索的路径不是我们想要的PATH变量的路径,所以找不到我们想要的命令。

两种方法解决该问题:
首先,都要打开sudo的配置文件:sudo visudo

  1.可以使用 secure_path 指令修改 sudoers 中默认的 PATH为你想要的路径。这个指令指定当用户执行 sudo 命令时在什么地方寻找二进制代码和命令。这个选项的目的显然是要限制用户运行 sudo 命令的范围,这是一种好做法。

  2.将Defaults env_reset改成Defaults !env_reset取消掉对PATH变量的重置,然后在.bashrc中最后添加alias sudo='sudo env PATH=$PATH',这样sudo执行命令时所搜寻的路径就是系统的PATH变量中的路径。

 
Git+Gitbook+Typora推荐给大家,可以用來寫書、記筆記。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »