npmjs包管理工具和nodejs版本管理
npmjs包管理工具和nodejs版本管理
nodejs介绍
- 免费、开源、跨平台
- 服务器上的 Javascript 运行环境
- 基于 Chrome V8 引擎,
事件驱动
、非阻塞式I/O
安装
win
- 安装
nvm-windows
- 安装
1 | nvm --sersion # 查看版本 |
centos
- 安装
brew
brew install n
- 安装
mac
安装- 安装
brew
brew install n
- 安装
npm全局依赖位置修改:
npm config get prefix
查看全局依赖包路径npm config set prefix "D:\nodejs\npm_global"
设置全局依赖包路径npm config get cache
查看缓存路径npm config set cache "D:\nodejs\npm_cache"
设置缓存路径
win11
改完不生效?
- 打开设置,搜索环境变量,点击编辑环境变量
- 找到用户变量的
path
:C:\Users\<ussername>\AppData\Roaming\npm
,修改为
包管理工具-npm
- npm i -g nrm
- nrm ls
- nrm use taobao
包管理工具-yarn
- 官方网址:https://yarnpkg.com/
- 常用命令:
yarn add/install/remove
- 下载地址:https://github.com/yarnpkg/yarn/releases
linux 后台运行 node 方法
pm2 后台运行 node
安装
npm install -g pm2
自启动
pm2 startup centos
运行命令示例(*文件后缀要加上
.js
*)pm2 start add.js
pm2 start server/add.js
pm2 start -- run server
相当于npm run server
其它命令
pm2 list
#查看进程pm2 stop/reload/restart/delete all
#停止/重载/重启/删除 所有进程pm2 stop/reload/restart/delete 0
#停止/重载/重启/删除 pm2进程列表中进程为0的进程pm2 logs [--raw]
#显示所有进程的日志pm2 flush
#清空所有日志文件pm2 reloadLogs
#重载所有日志
node import 模块
node原生支持import
文件后缀改为
.mjs
并且node:8
版本一会才支持import
时写上完整文件名称,如:import '../utils.ejs'
node
版本14
执行命令:node bin/index.mjs
node
版本低于14
执行命令:node --experimental-modules bin/index.mjs
,并且会出来警告说是测试功能
获取当前执行文件路径及名称
__dirname
文件路径__filename
文件路径+文件名
报错整理
执行命令出错:
node --inspect-brk ./node_modules/.bin/webpack webpack.config.js --inline --progress
原因:win不支持 shell 脚本
解决方法1:写完整路径
npx node --inspect-brk ./node_modules/webpack/bin/webpack.js --inline --progress
1
2
3
4
5
6
7
8
9
10VM51 loader.js:931 Uncaught E:\tmp\node_modules\.bin\webpack:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
SyntaxError: missing ) after argument list
at wrapSafe (internal/modules/cjs/loader.js:931:16)
at Module._compile (internal/modules/cjs/loader.js:979:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)
at Module.load (internal/modules/cjs/loader.js:879:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
at internal/main/run_main_module.js:17:47文件没有执行权限
加权限:
chmod +x test.shell
1
2
3
4
5
6
7
8
9
10
11Error: spawn /Users/baran.lee/Desktop/cxvh-cli-test/test/bin/process/test.shell EACCES
at Process.ChildProcess._handle.onexit (internal/child_process.js:269:19)
at onErrorNT (internal/child_process.js:465:16)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
errno: -13,
code: 'EACCES',
syscall: 'spawn /Users/baran.lee/Desktop/cxvh-cli-test/test/bin/process/test.shell',
path: '/Users/baran.lee/Desktop/cxvh-cli-test/test/bin/process/test.shell',
spawnargs: [ '-al', '-bl' ],
cmd: '/Users/baran.lee/Desktop/cxvh-cli-test/test/bin/process/test.shell -al -bl'
}
1 | FATAL ERROR: v8::Object::GetAlignedPointerFromInternalField() Unaligned pointer |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 BARAN的小站🔥🔥🔥!