首页
关于
Search
1
Lua使用调试库hook函数调用
666 阅读
2
傻瓜式快速搭建l2tp
593 阅读
3
游戏邮件系统数据设计因素
581 阅读
4
Linux内核数据结构kfifo小结(TODO)
539 阅读
5
傻瓜式安装chatgpt-web工具
533 阅读
项目技术
项目思考
开发环境
数据库
编程语言
生活与阅读
哲学
登录
Search
标签搜索
nodejs
npm
资深IT牛马
累计撰写
57
篇文章
累计收到
0
条评论
首页
栏目
项目技术
项目思考
开发环境
数据库
编程语言
生活与阅读
哲学
页面
关于
搜索到
57
篇与
的结果
npm常见操作
学习npm总给我一个熟悉感觉,基本上和学习C/C++的make工具一样。在make工具中,项目下一般有makefile文件,对应到npm也是一样。当执行npm init时,会生成一个package.js文件,这个文件描述当前项目信息。它定义了当在其他地方使用npm install安装本项目时需要安装什么依赖。另外也定义了支持哪些间接执行shell命令等等。这几乎就又是一个make工具。可能通过help查看他支持功能npm help npm 命令 --help总体上就是创建/安装/卸载/更新/锁定某个库包到项目中或者本机全局环境中。核心操作类似C的hello world,他的第1个重要的命令是npm init,作用是在当前目录创建一个package.js, 之后所有命令都是围绕在这个文件基本的操作。package.js文件包含一些重要字段:name: 表示包名version:表示版本entry point:表示入口文件,一般是传递给Node程序,相关于执行了node entry.jsscript:表示通过npm run xxx 中 xxx对应的npm或者shell命令dependencies/devDependencies: 当前项目依赖js库及其版本description/keywords/author/license:项目简介描述信息使用npm init -y后也可以再次设置一些项目配置信息npm config set init.author.name YOUR_NAME npm config set init.author.email YOUR_EMAIL 执行命令npm run [cmd]如果不指定cmd则会罗列出支持执行的命令(script字段配置中)包管理1、查看react包主页npm home react2、查react包信息npm info react3、安装包npm install 模块名[@版本] [--save/-S --save-dev/-D] [-g]可以用@指定版本,npm的版本分为大、次、小三个版本号,用.号分开,样式如3.4.1。 如果在版本号前使用^(接受次、小版本变化)、~(只接受小版本变动)、latest(最新版本)。package.json只会保存模糊版本,如果项目只能依赖某个具体版本时,package-lock.json因为会保存具体版本,所以也需要版本git/svn仓库管理。命令样式npm install bootstrap@3.3.7有另外一个不需要仓库管理package-lock.json文件的办法是,安装特定版本依赖包前用类似npm config set save-prefix='~'命令指定package.json保存允许小版本变动。如果完全不接受版本变化,则用npm config set save-exact true,然后在安装。模块包是区分生产、开发环境的--save/-S表示生产环境依赖的模块(会更新package.json中的dependencies字段)。同理也有--save-dev/-D参数更新到开发环境依赖模块。比如给开发环境安装eslint环境(js语法检查模块)命令就是npm install -D eslint。如果不指定是开发环境则默认是生产环境依赖。这个命令在把eslint模块安装在当前目录的node_modules目录下同时也会创建更新package-lock.json文件。如果需要在本机环境全局安装,则使用-g, 此时可以使用npm root -g查看具体是安装在哪里。或者使用npm list -g查看当前已经安装了哪些全局模块。一般node_modules目录是不需要进行版本管理的,使用npm install会自动下载模块。当不指定包时,就会从package.json文件自动下载所有依赖项到本地。4、查看已经安装包npm list|ls [-g] [模块名]如果有指定模块名时,只查指定模块如果此命令有UNMET DEPENDENCY不满足依赖时,需要重新生成本地包缓存。npm -fr node_modules/ # 删除已经安装模块 npm cache clean # 清理npm内部缓存 npm install # 重新安装5、查看远程最新版本npm view 模块名 [version]6、查看远程指定模块的所有版本npm view 模块名 versions7、卸载本地/全局模块npm uninstall [-g] 模块名8、搜索远程模块npm search 模块名9、更新本地/全局模块npm update [-g] 模块名10、安装项目所有依赖模块npm ci会删除node_modules,但不会更新package.json
2023年10月21日
147 阅读
0 评论
0 点赞
nodejs环境配置
安装nodejs也会自动安装npm(nodejs 包管理器) 下载地址来源: https://nodejs.org/zh-cn/download 下载二进制安装包:wget https://nodejs.org/dist/v18.18.2/node-v18.18.2-linux-x64.tar.xz 安装指引:https://github.com/nodejs/help/wiki/Installation配置pathVERSION=v18.18.2 DISTRO=linux-x64 INSTALL_FILE=node-$VERSION-$DISTRO.tar.xz rm -fr $INSTALL_FILE wget https://nodejs.org/dist/$VERSION/$INSTALL_FILE sudo apt-get remove nodejs sudo apt-get remove npm sudo mkdir -p /usr/local/lib/nodejs sudo tar -xJvf $INSTALL_FILE -C /usr/local/lib/nodejs export PATH=/usr/local/lib/nodejs/node-$VERSION-$DISTRO/bin:$PATH验证node -v npm -v npx -v配置npm包全局安装路径>npm config get prefix /usr/local/lib/nodejs/node-v18.18.2-linux-x64 >mkdir /usr/local/lib/nodejs/node-v18.18.2-linux-x64/node_global >npm config set prefix /usr/local/lib/nodejs/node-v18.18.2-linux-x64/node_global >npm config get cache /home/ubuntu/.npm >mkdir /usr/local/lib/nodejs/node-v18.18.2-linux-x64/node_cache >npm config set cache /usr/local/lib/nodejs/node-v18.18.2-linux-x64/node_cache一些思考nodejs是一个js运行时环境,所以理论上讲npm管理的也是一些js库,但是npm又增加了一些其他支持,比如在分离项目环境配置时可以执行配置命令等。这些已经和Make工具既负责gcc调用又做其他可能完全还在这个范围的事情,即做责职内和外的事情。这虽然带来一些便利,但已经变得不纯粹了。非常的不unix设计。最近在看VUE.js书籍,甚至都不介绍Linux环境设计,可能就是为了给win用户使用😂
2023年10月21日
85 阅读
0 评论
0 点赞
关于VIM编辑大文件卡顿
在编辑游戏的Lua文件时, 在进行if ... then 时, 只要还没有检查then关键字 或者function定义时还没有输入end关键字时, 总是卡顿. 暂时这个问题还没有解决首先, 定位到这个问题也花了点时间. 虽然非常怀疑, 但是没有证据. 于是找了三个内置诊断命令:syntime on :syntime off :syntime report诊断的结果是函数调用语法的匹配和错误匹配特别消耗CPU.暂时没有太好的办法尝试了设置updatetime 选项, 但是这个选项是vim空闲时的更新时间, 并不能缓解到编辑时卡顿问题.尝试了:set cursorline取消鼠标行高亮, 并没有效果:set regexpengine=1 更换正则引擎也无用
2023年08月29日
106 阅读
0 评论
1 点赞
Ubuntu16下vim工具编译
lua5.4安装下载源码包后make && make install在ubuntu16上安装vim9简要说明在安装支持特性时, 如果发现传递了, 但是安装后没有集成, 就需要自己看./configure步骤的输出信息后手动解决git clone https://github.com/vim/vim.git # 安装python开发包,用于扩展vim的python支持(因为我使用了LeaderF插件) # sudo apt install python3-dev # 查看python开发包安装目录, 如果已经安装 dpkg -L python3-dev # 更方便的是这个, 这里使用/usr/bin/python3m-config 不是/usr/bin/python3-config python3-config --configdir # 假设安装的开发文件位置/usr/local/include # 则传递/usr/local给--with-lua-prefix就可以了 # 所有的这些开启特性支持参数, 只是尝试, 最后是不一定会支持(假设找不到对应开发库) ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp=yes \ --enable-python3interp=yes \ --with-python3-config-dir=/usr/lib/python3.5/config-3.5m-x86_64-linux-gnu \ --enable-perlinterp=yes \ --enable-luainterp=yes \ --with-lua-prefix=/usr/local/include \ --enable-cscope --prefix=/usr/local # 检查支持情况 ./src/vim --version|egrep 'python|lua|cscope' sudo make install如果在安装后, 使用leader遇到ImportError: /usr/local/lib/python3.10/lib-dynload/_struct.cpython-310-x86_64-linux-gnu.so: undefined symbol: PyByteArray_Type可以参考 https://github.com/vim/vim/issues/3629把命令调整如下:LDFLAGS="-rdynamic" ./configure --with-features=huge \ --enable-multibyte \ --enable-rubyinterp=yes \ --enable-python3interp=yes \ --with-python3-config-dir=/usr/local/lib/python3.10/config-3.10-x86_64-linux-gnu \ --enable-perlinterp=yes \ --enable-luainterp=yes \ --with-lua-prefix=/usr/local \ --enable-cscope --prefix=/usr/local安装vim-lua语法git clone https://github.com/tbastos/vim-lua.git cp vim-lua/indent/lua.vim ~/.vim/autoload/ cp vim-lua/syntax/lua.vim ~/.vim/syntax/lua.vim安装vim-tagbar这个插件是个taglist的替换品,有人维护. 主要用来取文件中的函数名等(依赖ctags)git clone https://github.com/preservim/tagbar.git cd tagbar cp syntax/tagbar.vim ~/.vim/syntax/ cp plugin/tagbar.vim ~/.vim/plugin/ cp autoload/tagbar.vim ~/.vim/autoload/ cp autoload/tagbar ~/.vim/autoload/ -r cp doc/tagbar.txt ~/.vim/doc/安装后下面是状态栏配置:" 我的状态行显示的内容(包括文件类型和解码) "set statusline=%F%m%r%h%w[%p%%]%{exists('*Tlist_Get_Tagname_By_Line')?Tlist_Get_Tagname_By_Line():''} " 显示当前路径 set statusline=%F%m%r%h%w " 显示行列和百分比 set statusline+=[%l,%c,%p%%] " 显示函数名 set statusline+=%{exists(':TagbarToggle')?tagbar#currenttag('%s',''):''}
2023年07月15日
54 阅读
0 评论
0 点赞
傻瓜式快速搭建l2tp
傻瓜式快速搭建l2tp支持来自: https://github.com/hwdsl2/setup-ipsec-vpn下载安装脚本wget https://get.vpnsetup.net -O vpn.sh安装chmod +x vpnsetup.sh sudo sh vpn.sh拿到账密IPsec VPN server is now ready for use!Connect to your new VPN with these details:Server IP: ...IPsec PSK: 你的IPsec预共享密钥Username: 用户名Password: 密码Write these down. You'll need them to connect!Important notes: https://git.io/vpnnotesSetup VPN clients: https://git.io/vpnclients
2023年05月11日
593 阅读
0 评论
0 点赞
1
2
3
...
12