Closed VergeDX closed 6 years ago
成功解决,十分感谢!
从 https://nodejs.org/en/download/
下载了编译好的二进制文件,然后
sudo ln -s /home/vanilla/nodejs/bin/node /usr/local/bin/node
sudo ln -s /home/vanilla/nodejs/bin/npm /usr/local/bin/npm
npm install -g pxder
但是:
vanilla@vanilla-Presario-V3700-Notebook-PC:~/git/pxder$ npm install -g pxder
/home/vanilla/nodejs/bin/pxder -> /home/vanilla/nodejs/lib/node_modules/pxder/bin/pxder
+ pxder@2.5.4
added 52 packages from 58 contributors in 2.487s
vanilla@vanilla-Presario-V3700-Notebook-PC:~/git/pxder$ pxder
pxder:未找到命令
不过:
vanilla@vanilla-Presario-V3700-Notebook-PC:~/nodejs/bin$ ll
总用量 32236
drwxrwxr-x 2 vanilla vanilla 4096 9月 24 15:39 ./
drwxrwxr-x 6 vanilla vanilla 4096 9月 24 15:25 ../
-rwxrwxr-x 1 vanilla vanilla 32998049 9月 24 15:25 node*
lrwxrwxrwx 1 vanilla vanilla 38 9月 24 15:25 npm -> ../lib/node_modules/npm/bin/npm-cli.js*
lrwxrwxrwx 1 vanilla vanilla 38 9月 24 15:25 npx -> ../lib/node_modules/npm/bin/npx-cli.js*
lrwxrwxrwx 1 vanilla vanilla 35 9月 24 15:39 pxder -> ../lib/node_modules/pxder/bin/pxder*
vanilla@vanilla-Presario-V3700-Notebook-PC:~/nodejs/bin$ ./pxder
You must login first!
Try pxder --login
You must set download path first!
Try pxder --setting
Run pxder -h for more usage information.
于是手动创建软链接后正常 感谢! (顺便问一下:可以开 pr 汉化嘛?)
主要是考虑到某些VPS奇奇怪怪的语言环境所以统一用了英文😃 因为都是很简单的英文所以感觉也没什么汉化的必要 如果真要汉化的话我是打算等我想想怎么做GUI
唔...问个问题
-F, --follow-private download / update illusts from your private follows
--force ignore last progress
请问这个 force 选项是做什么用的呢?
还有,好像发现了个问题
像 pxder -b -B
这样的命令,似乎只会识别 -b
这一个选项...
如果是 pxder -Bb
的命令也是如此...
比如你-f
之后下到一半退出了,然后你又新关注了画师,如果直接-f
就还是你上次的下载队列,而-f --force
可以重新收集画师队列(包含你新关注的画师)
这些命令是互斥的,只会执行一个 https://github.com/YKilin/pxder/blob/fd032d7a1724508f8abd2448b5ce574fc209f4a4/bin/pxder#L62-L72
谢谢
我尝试在 macOS 把 pxder 全局安装后,也出现了一样的问题。。
tcdw@tcdw-mac.local ~/Repos $ pxder
env: node\r: No such file or directory
tcdw@tcdw-mac.local ~/Repos $ which pxder
/usr/local/bin/pxder
tcdw@tcdw-mac.local ~/Repos $ which node
/Users/tcdw/n/bin/node
tcdw@tcdw-mac.local ~/Repos $ node -v
v10.13.0
tcdw@tcdw-mac.local ~/Repos $
于是我使用 node $(which pxder)
运行,可以正常打开。。
我检查了一下,发现 pxder 使用的是 CRLF 换行符。。然后用 dos2unix 转换了一下,就可以直接在终端执行 pxder
启动程序了。。
@tcdw 因为git clone
以及npm i
的时候会根据系统环境自动转换换行符所以应该不会有这个问题……
并且我在我自己的Linux上测试不会有换行符格式问题
可能macOS上有些什么差异……
窝在 Ubuntu 上npm i -g pxder
也是那样的问题
node 是下载下来然后软连接装的
所以窝现在都npm i
以后再手动软链接的…
@tcdw 新版本已经将入口脚本换成 LF 换行了
@VergeDX 说起来你这个问题最原本可能也是因为\r
换行符的问题,但我自己没出现过,总之有点迷……
哇,十分感谢www
@tcdw 话说你解决问题的时候是只转换了入口脚本是么,但是内部有几个js仍是 CRLF,而只转换了入口脚本就正常了也感觉很迷……
是的,我的确只转换了一个入口文件。。
看起来 node.js 内部会处理好换行符的问题,所以对于 require 来的文件没有影响。。
@tcdw 我好像明白了
npm 全局安装时比如把 pxder 安装到了node/lib/node_modules/pxder
对于 Unix,入口文件会被拷贝一份到node/bin
并且在开头加上#!/usr/bin/env node
以直接作为系统的可执行脚本,由于 macOS 命令行也是 Unix 的所以应该是相同的处理方式,node 的这个操作不知道什么情况下就没有考虑换行符转换,而是维持原来的换行符格式,因此会提示找不到node\r
而 Windows 的处理方式不太一样,是新增了一个pxder.cmd
作为入口,实质上是调用 node 传参数的方法执行,所以换行符对 Windows 没有影响
:: pxder.cmd
@IF EXIST "%~dp0\node.exe" (
"%~dp0\node.exe" "%~dp0\node_modules\pxder\bin\pxder" %*
) ELSE (
@SETLOCAL
@SET PATHEXT=%PATHEXT:;.JS;=;%
node "%~dp0\node_modules\pxder\bin\pxder" %*
)
嗯...在 Arch 上没一点问题了:
[vanilla@Vanilla_Arch_Server pxder]$ screenfetch
-`
.o+` vanilla@Vanilla_Arch_Server
`ooo/ OS: Arch Linux
`+oooo: Kernel: x86_64 Linux 4.19.4-arch1-1-ARCH
`+oooooo: Uptime: 1h 25m
-+oooooo+: Packages: 225
`/:-:++oooo+: Shell: bash 4.4.23
`/++++/+++++++: CPU: Intel Core2 Duo T5550 @ 2x 1.833GHz [53.0°C]
`/++++++++++++++: GPU: GeForce 8400M GS
`/+++ooooooooooooo/` RAM: 72MiB / 982MiB
./ooosssso++osssssso+`
.oossssso-````/ossssss+`
-osssssso. :ssssssso.
:osssssss/ osssso+++.
/ossssssss/ +ssssooo/-
`/ossssso+/:- -:/+osssso+-
`+sso+:-` `.-/+oso:
`++:. `-/+/
.` `/
[vanilla@Vanilla_Arch_Server pxder]$ pxder
You must login first!
Try pxder --login
You must set download path first!
Try pxder --setting
Run pxder -h for more usage information.
感谢修复!
如题... 执行
sudo npm i -g pxder
后,再执行pxder
报错如下:系统为
XUbuntu 32位
,nodejs 版本为v8.10.0
(nodejs
使用apt
安装)请问是怎么回事呢... (PS:在
Windows 8.1
上完美运行) 谢谢!